public override void ToSMTConstraints(Context z3Context, Solver z3Solver, int alphabetSize, VariableCache variableGenerator) { // Take a constraint variable just for good measure this.constraintVariable = variableGenerator.GetFreshVariableName(); ArithExpr myVariable = z3Context.MkIntConst(this.constraintVariable); z3Solver.Assert(z3Context.MkEq(myVariable, z3Context.MkInt(0))); }
public override void ToSMTConstraints(Context z3Context, Solver z3Solver, int alphabetSize, VariableCache variableGenerator) { this.constraintVariable = variableGenerator.GetFreshVariableName(); ArithExpr myVariable = z3Context.MkIntConst(this.constraintVariable); z3Solver.Assert(z3Context.MkLe(z3Context.MkInt(0), myVariable)); z3Solver.Assert(z3Context.MkLe(myVariable, z3Context.MkInt(1))); }
public override void ToSMTConstraints(Context z3Context, Solver z3Solver, int alphabetSize, VariableCache variableGenerator) { this.constraintVariable = variableGenerator.GetFreshVariableName(); ArithExpr myVariable = z3Context.MkIntConst(this.constraintVariable); z3Solver.Assert(z3Context.MkEq(myVariable, z3Context.MkInt(0))); this.originalPosition.ToSMTConstraints(z3Context, z3Solver, alphabetSize, variableGenerator); this.originalSet.ToSMTConstraints(z3Context, z3Solver, alphabetSize, variableGenerator); }