我需要在我的z3模型中命名一些断言,以便它能够生成不满的核心。
我可以像这样手动执行此操作:
(assert (! (assertion) :named x))
我只需要直接使用.NET API。
任何帮助?
答案 0 :(得分:2)
Z3不直接通过.NET API支持此功能。相反,应该创建一个布尔常量(名称,例如x
),然后可以用它来断言条件约束,例如,
solver.AssertAndTrack(constraint, x);
然后将约束命名为x
,并使用此常量在不良核心中引用它。
有关Python中的示例,另请参阅此其他question; .NET API中的策略是相同的,只有函数名略有不同。