18 package com.microsoft.z3;
21 import java.lang.String;
38 m_ctx = Native.mkInterpolationContext(0);
51 long cfg = Native.mkConfig();
52 for (
Map.Entry<String, String> kv : settings.entrySet())
54 m_ctx = Native.mkInterpolationContext(cfg);
55 Native.delConfig(cfg);
78 checkContextMatch(pf);
79 checkContextMatch(pat);
83 return seq.ToBoolExprArray();
102 checkContextMatch(pat);
103 checkContextMatch(p);
106 Native.LongPtr n_i =
new Native.LongPtr();
107 Native.LongPtr n_m =
new Native.LongPtr();
108 res.status = Z3_lbool.fromInt(Native.computeInterpolant(nCtx(), pat.getNativeObject(), p.getNativeObject(), n_i, n_m));
110 res.interp = (
new ASTVector(
this, n_i.value)).ToBoolExprArray();
112 res.model =
new Model(
this, n_m.value);
124 return Native.interpolationProfile(nCtx());
142 Native.StringPtr n_err_str =
new Native.StringPtr();
143 res.return_value = Native.checkInterpolant(nCtx(),
145 Expr.arrayToNative(cnsts),
147 Expr.arrayToNative(interps),
150 Expr.arrayToNative(theory));
151 res.error = n_err_str.value;
174 Native.IntPtr n_num =
new Native.IntPtr();
175 Native.IntPtr n_num_theory =
new Native.IntPtr();
176 Native.ObjArrayPtr n_cnsts =
new Native.ObjArrayPtr();
177 Native.UIntArrayPtr n_parents =
new Native.UIntArrayPtr();
178 Native.ObjArrayPtr n_theory =
new Native.ObjArrayPtr();
179 Native.StringPtr n_err_str =
new Native.StringPtr();
180 res.return_value = Native.readInterpolationProblem(nCtx(), n_num, n_cnsts, n_parents, filename, n_err_str, n_num_theory, n_theory);
181 int num = n_num.value;
182 int num_theory = n_num_theory.value;
183 res.error = n_err_str.value;
184 res.cnsts =
new Expr[num];
185 res.parents =
new int[num];
186 theory =
new Expr[num_theory];
187 for (
int i = 0; i < num; i++)
189 res.cnsts[i] = Expr.create(
this, n_cnsts.value[i]);
190 res.parents[i] = n_parents.value[i];
192 for (
int i = 0; i < num_theory; i++)
193 res.
theory[i] =
Expr.create(
this, n_theory.value[i]);
205 Native.writeInterpolationProblem(nCtx(), cnsts.length, Expr.arrayToNative(cnsts), parents, filename, theory.length,
Expr.arrayToNative(theory));
static long mkInterpolant(long a0, long a1)
ReadInterpolationProblemResult ReadInterpolationProblem(String filename, Expr[] cnsts, int[] parents, String error, Expr[] theory)
Z3_lbool
Lifted Boolean type: false, undefined, true.
static void setParamValue(long a0, String a1, String a2)
InterpolationContext(Map< String, String > settings)
static long getInterpolant(long a0, long a1, long a2, long a3)
BoolExpr MkInterpolant(BoolExpr a)
String InterpolationProfile()
void WriteInterpolationProblem(String filename, Expr[] cnsts, int[] parents, String error, Expr[] theory)
ComputeInterpolantResult ComputeInterpolant(Expr pat, Params p)
BoolExpr[] GetInterpolant(Expr pf, Expr pat, Params p)
CheckInterpolantResult CheckInterpolant(Expr[] cnsts, int[] parents, BoolExpr[] interps, String error, Expr[] theory)