这是一个非常小的例子,显示我有一个问题:在Z3 .NET API设置逻辑
class Z3Tester
{
private Context cICtx;
private Solver cISolver;
static void Main(string[] args)
{
Z3Tester lZ3Tester = new Z3Tester();
lZ3Tester.Test_Z3();
}
public void Test_Z3()
{
BoolExpr lA = cICtx.MkBoolConst("A");
BoolExpr lB = cICtx.MkBoolConst("B");
cISolver.Push();
BoolExpr lConstraint1 = cICtx.MkBoolConst("Constraint1");
cISolver.AssertAndTrack(lA, lConstraint1);
cISolver.ToString();
cISolver.Check(lConstraint1);
}
public Z3Tester()
{
cICtx = new Context(new Dictionary<string, string>() { { "proof", "true" } });
using (cICtx)
this.cISolver = cICtx.MkSolver("QF_FD");
在此代码时,我给cISolver.Check(lConstraint1);
线来我得到的AccessViolationException ...。
创建使用指定逻辑配置的求解器对象。 –