39 return Z3_goal_prec.fromInt(Native.goalPrecision(getContext().nCtx(),
84 getContext().checkContextMatch(constraints);
87 Native.goalAssert(getContext().
nCtx(), getNativeObject(),
97 return Native.goalInconsistent(getContext().nCtx(), getNativeObject());
107 return Native.goalDepth(getContext().nCtx(), getNativeObject());
115 Native.goalReset(getContext().nCtx(), getNativeObject());
123 return Native.goalSize(getContext().nCtx(), getNativeObject());
135 for (
int i = 0; i < n; i++)
136 res[i] = (
BoolExpr)
Expr.create(getContext(), Native.goalFormula(getContext().nCtx(), getNativeObject(), i));
145 return Native.goalNumExprs(getContext().nCtx(), getNativeObject());
154 return Native.goalIsDecidedSat(getContext().nCtx(), getNativeObject());
164 .goalIsDecidedUnsat(getContext().nCtx(), getNativeObject());
174 return new Goal(ctx, Native.goalTranslate(getContext().nCtx(),
175 getNativeObject(), ctx.
nCtx()));
216 return Native.goalToString(getContext().nCtx(), getNativeObject());
227 return getContext().
mkTrue();
240 Goal(Context ctx,
boolean models,
boolean unsatCores,
boolean proofs) {
241 super(ctx, Native.mkGoal(ctx.nCtx(), (models),
242 (unsatCores), (proofs)));
254 return new Model(getContext(),
255 Native.goalConvertModel(getContext().nCtx(), getNativeObject(), m.getNativeObject()));
262 Native.goalIncRef(getContext().nCtx(), getNativeObject());
266 void addToReferenceQueue() {
267 getContext().getReferenceQueue().storeReference(
this, GoalRef::new);
270 private static class GoalRef
extends Z3ReferenceQueue.Reference<Goal> {
272 private GoalRef(Goal referent, ReferenceQueue<Z3Object> q) {
277 void decRef(Context ctx,
long z3Obj) {
278 Native.goalDecRef(ctx.nCtx(), z3Obj);
Tactic mkTactic(String name)
final BoolExpr mkAnd(Expr< BoolSort >... t)