Z3
 
Loading...
Searching...
No Matches
Public Member Functions | Data Fields | Protected Attributes
Optimize Class Reference
+ Inheritance diagram for Optimize:

Public Member Functions

 __init__ (self, optimize=None, ctx=None)
 
 __deepcopy__ (self, memo={})
 
 __del__ (self)
 
 __enter__ (self)
 
 __exit__ (self, *exc_info)
 
 set (self, *args, **keys)
 
 help (self)
 
 param_descrs (self)
 
 assert_exprs (self, *args)
 
 add (self, *args)
 
 __iadd__ (self, fml)
 
 assert_and_track (self, a, p)
 
 add_soft (self, arg, weight="1", id=None)
 
 set_initial_value (self, var, value)
 
 maximize (self, arg)
 
 minimize (self, arg)
 
 push (self)
 
 pop (self)
 
 check (self, *assumptions)
 
 reason_unknown (self)
 
 model (self)
 
 unsat_core (self)
 
 lower (self, obj)
 
 upper (self, obj)
 
 lower_values (self, obj)
 
 upper_values (self, obj)
 
 from_file (self, filename)
 
 from_string (self, s)
 
 assertions (self)
 
 objectives (self)
 
 __repr__ (self)
 
 sexpr (self)
 
 statistics (self)
 
 set_on_model (self, on_model)
 
- Public Member Functions inherited from Z3PPObject
 use_pp (self)
 

Data Fields

 ctx
 
 optimize
 

Protected Attributes

 _on_models_id
 

Additional Inherited Members

- Protected Member Functions inherited from Z3PPObject
 _repr_html_ (self)
 

Detailed Description

Optimize API provides methods for solving using objective functions and weighted soft constraints

Definition at line 8080 of file z3py.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  optimize = None,
  ctx = None 
)

Definition at line 8083 of file z3py.py.

8083 def __init__(self, optimize=None, ctx=None):
8084 self.ctx = _get_ctx(ctx)
8085 if optimize is None:
8086 self.optimize = Z3_mk_optimize(self.ctx.ref())
8087 else:
8088 self.optimize = optimize
8089 self._on_models_id = None
8090 Z3_optimize_inc_ref(self.ctx.ref(), self.optimize)
8091
void Z3_API Z3_optimize_inc_ref(Z3_context c, Z3_optimize d)
Increment the reference counter of the given optimize context.
Z3_optimize Z3_API Z3_mk_optimize(Z3_context c)
Create a new optimize context.

◆ __del__()

__del__ (   self)

Definition at line 8095 of file z3py.py.

8095 def __del__(self):
8096 if self.optimize is not None and self.ctx.ref() is not None and Z3_optimize_dec_ref is not None:
8097 Z3_optimize_dec_ref(self.ctx.ref(), self.optimize)
8098 if self._on_models_id is not None:
8099 del _on_models[self._on_models_id]
8100
void Z3_API Z3_optimize_dec_ref(Z3_context c, Z3_optimize d)
Decrement the reference counter of the given optimize context.

Member Function Documentation

◆ __deepcopy__()

__deepcopy__ (   self,
  memo = {} 
)

Definition at line 8092 of file z3py.py.

8092 def __deepcopy__(self, memo={}):
8093 return Optimize(self.optimize, self.ctx)
8094

◆ __enter__()

__enter__ (   self)

Definition at line 8101 of file z3py.py.

8101 def __enter__(self):
8102 self.push()
8103 return self
8104

◆ __exit__()

__exit__ (   self,
exc_info 
)

Definition at line 8105 of file z3py.py.

8105 def __exit__(self, *exc_info):
8106 self.pop()
8107

◆ __iadd__()

__iadd__ (   self,
  fml 
)

Definition at line 8139 of file z3py.py.

8139 def __iadd__(self, fml):
8140 self.add(fml)
8141 return self
8142

◆ __repr__()

__repr__ (   self)
Return a formatted string with all added rules and constraints.

Definition at line 8286 of file z3py.py.

8286 def __repr__(self):
8287 """Return a formatted string with all added rules and constraints."""
8288 return self.sexpr()
8289

◆ add()

add (   self,
args 
)
Assert constraints as background axioms for the optimize solver. Alias for assert_expr.

Definition at line 8135 of file z3py.py.

8135 def add(self, *args):
8136 """Assert constraints as background axioms for the optimize solver. Alias for assert_expr."""
8137 self.assert_exprs(*args)
8138

Referenced by Solver.__iadd__().

◆ add_soft()

add_soft (   self,
  arg,
  weight = "1",
  id = None 
)
Add soft constraint with optional weight and optional identifier.
   If no weight is supplied, then the penalty for violating the soft constraint
   is 1.
   Soft constraints are grouped by identifiers. Soft constraints that are
   added without identifiers are grouped by default.

Definition at line 8172 of file z3py.py.

8172 def add_soft(self, arg, weight="1", id=None):
8173 """Add soft constraint with optional weight and optional identifier.
8174 If no weight is supplied, then the penalty for violating the soft constraint
8175 is 1.
8176 Soft constraints are grouped by identifiers. Soft constraints that are
8177 added without identifiers are grouped by default.
8178 """
8179 if _is_int(weight):
8180 weight = "%d" % weight
8181 elif isinstance(weight, float):
8182 weight = "%f" % weight
8183 if not isinstance(weight, str):
8184 raise Z3Exception("weight should be a string or an integer")
8185 if id is None:
8186 id = ""
8187 id = to_symbol(id, self.ctx)
8188
8189 def asoft(a):
8190 v = Z3_optimize_assert_soft(self.ctx.ref(), self.optimize, a.as_ast(), weight, id)
8191 return OptimizeObjective(self, v, False)
8192 if sys.version_info.major >= 3 and isinstance(arg, Iterable):
8193 return [asoft(a) for a in arg]
8194 return asoft(arg)
8195
unsigned Z3_API Z3_optimize_assert_soft(Z3_context c, Z3_optimize o, Z3_ast a, Z3_string weight, Z3_symbol id)
Assert soft constraint to the optimization context.

◆ assert_and_track()

assert_and_track (   self,
  a,
  p 
)
Assert constraint `a` and track it in the unsat core using the Boolean constant `p`.

If `p` is a string, it will be automatically converted into a Boolean constant.

>>> x = Int('x')
>>> p3 = Bool('p3')
>>> s = Optimize()
>>> s.assert_and_track(x > 0,  'p1')
>>> s.assert_and_track(x != 1, 'p2')
>>> s.assert_and_track(x < 0,  p3)
>>> print(s.check())
unsat
>>> c = s.unsat_core()
>>> len(c)
2
>>> Bool('p1') in c
True
>>> Bool('p2') in c
False
>>> p3 in c
True

Definition at line 8143 of file z3py.py.

8143 def assert_and_track(self, a, p):
8144 """Assert constraint `a` and track it in the unsat core using the Boolean constant `p`.
8145
8146 If `p` is a string, it will be automatically converted into a Boolean constant.
8147
8148 >>> x = Int('x')
8149 >>> p3 = Bool('p3')
8150 >>> s = Optimize()
8151 >>> s.assert_and_track(x > 0, 'p1')
8152 >>> s.assert_and_track(x != 1, 'p2')
8153 >>> s.assert_and_track(x < 0, p3)
8154 >>> print(s.check())
8155 unsat
8156 >>> c = s.unsat_core()
8157 >>> len(c)
8158 2
8159 >>> Bool('p1') in c
8160 True
8161 >>> Bool('p2') in c
8162 False
8163 >>> p3 in c
8164 True
8165 """
8166 if isinstance(p, str):
8167 p = Bool(p, self.ctx)
8168 _z3_assert(isinstance(a, BoolRef), "Boolean expression expected")
8169 _z3_assert(isinstance(p, BoolRef) and is_const(p), "Boolean expression expected")
8170 Z3_optimize_assert_and_track(self.ctx.ref(), self.optimize, a.as_ast(), p.as_ast())
8171
void Z3_API Z3_optimize_assert_and_track(Z3_context c, Z3_optimize o, Z3_ast a, Z3_ast t)
Assert tracked hard constraint to the optimization context.

◆ assert_exprs()

assert_exprs (   self,
args 
)
Assert constraints as background axioms for the optimize solver.

Definition at line 8123 of file z3py.py.

8123 def assert_exprs(self, *args):
8124 """Assert constraints as background axioms for the optimize solver."""
8125 args = _get_args(args)
8126 s = BoolSort(self.ctx)
8127 for arg in args:
8128 if isinstance(arg, Goal) or isinstance(arg, AstVector):
8129 for f in arg:
8130 Z3_optimize_assert(self.ctx.ref(), self.optimize, f.as_ast())
8131 else:
8132 arg = s.cast(arg)
8133 Z3_optimize_assert(self.ctx.ref(), self.optimize, arg.as_ast())
8134
void Z3_API Z3_optimize_assert(Z3_context c, Z3_optimize o, Z3_ast a)
Assert hard constraint to the optimization context.

Referenced by Goal.add(), Solver.add(), Goal.append(), Solver.append(), Goal.insert(), and Solver.insert().

◆ assertions()

assertions (   self)
Return an AST vector containing all added constraints.

Definition at line 8278 of file z3py.py.

8278 def assertions(self):
8279 """Return an AST vector containing all added constraints."""
8280 return AstVector(Z3_optimize_get_assertions(self.ctx.ref(), self.optimize), self.ctx)
8281
Z3_ast_vector Z3_API Z3_optimize_get_assertions(Z3_context c, Z3_optimize o)
Return the set of asserted formulas on the optimization context.

◆ check()

check (   self,
assumptions 
)
Check consistency and produce optimal values.

Definition at line 8227 of file z3py.py.

8227 def check(self, *assumptions):
8228 """Check consistency and produce optimal values."""
8229 assumptions = _get_args(assumptions)
8230 num = len(assumptions)
8231 _assumptions = (Ast * num)()
8232 for i in range(num):
8233 _assumptions[i] = assumptions[i].as_ast()
8234 return CheckSatResult(Z3_optimize_check(self.ctx.ref(), self.optimize, num, _assumptions))
8235
Z3_lbool Z3_API Z3_optimize_check(Z3_context c, Z3_optimize o, unsigned num_assumptions, Z3_ast const assumptions[])
Check consistency and produce optimal values.

◆ from_file()

from_file (   self,
  filename 
)
Parse assertions and objectives from a file

Definition at line 8270 of file z3py.py.

8270 def from_file(self, filename):
8271 """Parse assertions and objectives from a file"""
8272 Z3_optimize_from_file(self.ctx.ref(), self.optimize, filename)
8273
void Z3_API Z3_optimize_from_file(Z3_context c, Z3_optimize o, Z3_string s)
Parse an SMT-LIB2 file with assertions, soft constraints and optimization objectives....

◆ from_string()

from_string (   self,
  s 
)
Parse assertions and objectives from a string

Definition at line 8274 of file z3py.py.

8274 def from_string(self, s):
8275 """Parse assertions and objectives from a string"""
8276 Z3_optimize_from_string(self.ctx.ref(), self.optimize, s)
8277
void Z3_API Z3_optimize_from_string(Z3_context c, Z3_optimize o, Z3_string s)
Parse an SMT-LIB2 string with assertions, soft constraints and optimization objectives....

◆ help()

help (   self)
Display a string describing all available options.

Definition at line 8115 of file z3py.py.

8115 def help(self):
8116 """Display a string describing all available options."""
8117 print(Z3_optimize_get_help(self.ctx.ref(), self.optimize))
8118
Z3_string Z3_API Z3_optimize_get_help(Z3_context c, Z3_optimize t)
Return a string containing a description of parameters accepted by optimize.

◆ lower()

lower (   self,
  obj 
)

Definition at line 8250 of file z3py.py.

8250 def lower(self, obj):
8251 if not isinstance(obj, OptimizeObjective):
8252 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8253 return obj.lower()
8254

◆ lower_values()

lower_values (   self,
  obj 
)

Definition at line 8260 of file z3py.py.

8260 def lower_values(self, obj):
8261 if not isinstance(obj, OptimizeObjective):
8262 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8263 return obj.lower_values()
8264

◆ maximize()

maximize (   self,
  arg 
)
Add objective function to maximize.

Definition at line 8203 of file z3py.py.

8203 def maximize(self, arg):
8204 """Add objective function to maximize."""
8205 return OptimizeObjective(
8206 self,
8207 Z3_optimize_maximize(self.ctx.ref(), self.optimize, arg.as_ast()),
8208 is_max=True,
8209 )
8210
unsigned Z3_API Z3_optimize_maximize(Z3_context c, Z3_optimize o, Z3_ast t)
Add a maximization constraint.

◆ minimize()

minimize (   self,
  arg 
)
Add objective function to minimize.

Definition at line 8211 of file z3py.py.

8211 def minimize(self, arg):
8212 """Add objective function to minimize."""
8213 return OptimizeObjective(
8214 self,
8215 Z3_optimize_minimize(self.ctx.ref(), self.optimize, arg.as_ast()),
8216 is_max=False,
8217 )
8218
unsigned Z3_API Z3_optimize_minimize(Z3_context c, Z3_optimize o, Z3_ast t)
Add a minimization constraint.

◆ model()

model (   self)
Return a model for the last check().

Definition at line 8240 of file z3py.py.

8240 def model(self):
8241 """Return a model for the last check()."""
8242 try:
8243 return ModelRef(Z3_optimize_get_model(self.ctx.ref(), self.optimize), self.ctx)
8244 except Z3Exception:
8245 raise Z3Exception("model is not available")
8246
Z3_model Z3_API Z3_optimize_get_model(Z3_context c, Z3_optimize o)
Retrieve the model for the last Z3_optimize_check.

Referenced by ModelRef.__del__(), ModelRef.__getitem__(), ModelRef.__len__(), ModelRef.decls(), ModelRef.eval(), ModelRef.get_interp(), ModelRef.get_sort(), ModelRef.get_universe(), ModelRef.num_sorts(), ModelRef.project(), ModelRef.project_with_witness(), ModelRef.sexpr(), ModelRef.translate(), and ModelRef.update_value().

◆ objectives()

objectives (   self)
returns set of objective functions

Definition at line 8282 of file z3py.py.

8282 def objectives(self):
8283 """returns set of objective functions"""
8284 return AstVector(Z3_optimize_get_objectives(self.ctx.ref(), self.optimize), self.ctx)
8285
Z3_ast_vector Z3_API Z3_optimize_get_objectives(Z3_context c, Z3_optimize o)
Return objectives on the optimization context. If the objective function is a max-sat objective it is...

◆ param_descrs()

param_descrs (   self)
Return the parameter description set.

Definition at line 8119 of file z3py.py.

8119 def param_descrs(self):
8120 """Return the parameter description set."""
8121 return ParamDescrsRef(Z3_optimize_get_param_descrs(self.ctx.ref(), self.optimize), self.ctx)
8122
Z3_param_descrs Z3_API Z3_optimize_get_param_descrs(Z3_context c, Z3_optimize o)
Return the parameter description set for the given optimize object.

◆ pop()

pop (   self)
restore to previously created backtracking point

Definition at line 8223 of file z3py.py.

8223 def pop(self):
8224 """restore to previously created backtracking point"""
8225 Z3_optimize_pop(self.ctx.ref(), self.optimize)
8226
void Z3_API Z3_optimize_pop(Z3_context c, Z3_optimize d)
Backtrack one level.

Referenced by Solver.__exit__().

◆ push()

push (   self)
create a backtracking point for added rules, facts and assertions

Definition at line 8219 of file z3py.py.

8219 def push(self):
8220 """create a backtracking point for added rules, facts and assertions"""
8221 Z3_optimize_push(self.ctx.ref(), self.optimize)
8222
void Z3_API Z3_optimize_push(Z3_context c, Z3_optimize d)
Create a backtracking point.

Referenced by Solver.__enter__().

◆ reason_unknown()

reason_unknown (   self)
Return a string that describes why the last `check()` returned `unknown`.

Definition at line 8236 of file z3py.py.

8236 def reason_unknown(self):
8237 """Return a string that describes why the last `check()` returned `unknown`."""
8238 return Z3_optimize_get_reason_unknown(self.ctx.ref(), self.optimize)
8239
Z3_string Z3_API Z3_optimize_get_reason_unknown(Z3_context c, Z3_optimize d)
Retrieve a string that describes the last status returned by Z3_optimize_check.

◆ set()

set (   self,
args,
**  keys 
)
Set a configuration option.
The method `help()` return a string containing all available options.

Definition at line 8108 of file z3py.py.

8108 def set(self, *args, **keys):
8109 """Set a configuration option.
8110 The method `help()` return a string containing all available options.
8111 """
8112 p = args2params(args, keys, self.ctx)
8113 Z3_optimize_set_params(self.ctx.ref(), self.optimize, p.params)
8114
void Z3_API Z3_optimize_set_params(Z3_context c, Z3_optimize o, Z3_params p)
Set parameters on optimization context.

◆ set_initial_value()

set_initial_value (   self,
  var,
  value 
)
initialize the solver's state by setting the initial value of var to value

Definition at line 8196 of file z3py.py.

8196 def set_initial_value(self, var, value):
8197 """initialize the solver's state by setting the initial value of var to value
8198 """
8199 s = var.sort()
8200 value = s.cast(value)
8201 Z3_optimize_set_initial_value(self.ctx.ref(), self.optimize, var.ast, value.ast)
8202
void Z3_API Z3_optimize_set_initial_value(Z3_context c, Z3_optimize o, Z3_ast v, Z3_ast val)
provide an initialization hint to the solver. The initialization hint is used to calibrate an initial...

◆ set_on_model()

set_on_model (   self,
  on_model 
)
Register a callback that is invoked with every incremental improvement to
objective values. The callback takes a model as argument.
The life-time of the model is limited to the callback so the
model has to be (deep) copied if it is to be used after the callback

Definition at line 8301 of file z3py.py.

8301 def set_on_model(self, on_model):
8302 """Register a callback that is invoked with every incremental improvement to
8303 objective values. The callback takes a model as argument.
8304 The life-time of the model is limited to the callback so the
8305 model has to be (deep) copied if it is to be used after the callback
8306 """
8307 id = len(_on_models) + 41
8308 mdl = Model(self.ctx)
8309 _on_models[id] = (on_model, mdl)
8310 self._on_models_id = id
8312 self.ctx.ref(), self.optimize, mdl.model, ctypes.c_void_p(id), _on_model_eh,
8313 )
8314
8315
void Z3_API Z3_optimize_register_model_eh(Z3_context c, Z3_optimize o, Z3_model m, void *ctx, Z3_model_eh model_eh)
register a model event handler for new models.

◆ sexpr()

sexpr (   self)
Return a formatted string (in Lisp-like format) with all added constraints.
We say the string is in s-expression format.

Definition at line 8290 of file z3py.py.

8290 def sexpr(self):
8291 """Return a formatted string (in Lisp-like format) with all added constraints.
8292 We say the string is in s-expression format.
8293 """
8294 return Z3_optimize_to_string(self.ctx.ref(), self.optimize)
8295
Z3_string Z3_API Z3_optimize_to_string(Z3_context c, Z3_optimize o)
Print the current context as a string.

◆ statistics()

statistics (   self)
Return statistics for the last check`.

Definition at line 8296 of file z3py.py.

8296 def statistics(self):
8297 """Return statistics for the last check`.
8298 """
8299 return Statistics(Z3_optimize_get_statistics(self.ctx.ref(), self.optimize), self.ctx)
8300
Z3_stats Z3_API Z3_optimize_get_statistics(Z3_context c, Z3_optimize d)
Retrieve statistics information from the last call to Z3_optimize_check.

◆ unsat_core()

unsat_core (   self)

Definition at line 8247 of file z3py.py.

8247 def unsat_core(self):
8248 return AstVector(Z3_optimize_get_unsat_core(self.ctx.ref(), self.optimize), self.ctx)
8249
Z3_ast_vector Z3_API Z3_optimize_get_unsat_core(Z3_context c, Z3_optimize o)
Retrieve the unsat core for the last Z3_optimize_check The unsat core is a subset of the assumptions ...

◆ upper()

upper (   self,
  obj 
)

Definition at line 8255 of file z3py.py.

8255 def upper(self, obj):
8256 if not isinstance(obj, OptimizeObjective):
8257 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8258 return obj.upper()
8259

◆ upper_values()

upper_values (   self,
  obj 
)

Definition at line 8265 of file z3py.py.

8265 def upper_values(self, obj):
8266 if not isinstance(obj, OptimizeObjective):
8267 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8268 return obj.upper_values()
8269

Field Documentation

◆ _on_models_id

_on_models_id
protected

Definition at line 8089 of file z3py.py.

◆ ctx

ctx

Definition at line 8084 of file z3py.py.

Referenced by ArithRef.__add__(), BitVecRef.__add__(), BitVecRef.__and__(), FuncDeclRef.__call__(), AstMap.__contains__(), AstRef.__copy__(), Goal.__copy__(), AstVector.__copy__(), FuncInterp.__copy__(), ModelRef.__copy__(), AstRef.__deepcopy__(), Datatype.__deepcopy__(), ParamsRef.__deepcopy__(), ParamDescrsRef.__deepcopy__(), Goal.__deepcopy__(), AstVector.__deepcopy__(), AstMap.__deepcopy__(), FuncEntry.__deepcopy__(), FuncInterp.__deepcopy__(), ModelRef.__deepcopy__(), Statistics.__deepcopy__(), Context.__del__(), AstRef.__del__(), ScopedConstructor.__del__(), ScopedConstructorList.__del__(), ParamsRef.__del__(), ParamDescrsRef.__del__(), Goal.__del__(), AstVector.__del__(), AstMap.__del__(), FuncEntry.__del__(), FuncInterp.__del__(), ModelRef.__del__(), Statistics.__del__(), Solver.__del__(), ArithRef.__div__(), BitVecRef.__div__(), ExprRef.__eq__(), ArithRef.__ge__(), BitVecRef.__ge__(), AstVector.__getitem__(), ModelRef.__getitem__(), Statistics.__getitem__(), AstMap.__getitem__(), ArithRef.__gt__(), BitVecRef.__gt__(), BitVecRef.__invert__(), ArithRef.__le__(), BitVecRef.__le__(), AstVector.__len__(), AstMap.__len__(), ModelRef.__len__(), Statistics.__len__(), BitVecRef.__lshift__(), ArithRef.__lt__(), BitVecRef.__lt__(), ArithRef.__mod__(), BitVecRef.__mod__(), BoolRef.__mul__(), ArithRef.__mul__(), BitVecRef.__mul__(), ExprRef.__ne__(), ArithRef.__neg__(), BitVecRef.__neg__(), BitVecRef.__or__(), ArithRef.__pow__(), ArithRef.__radd__(), BitVecRef.__radd__(), BitVecRef.__rand__(), ArithRef.__rdiv__(), BitVecRef.__rdiv__(), ParamsRef.__repr__(), ParamDescrsRef.__repr__(), AstMap.__repr__(), Statistics.__repr__(), BitVecRef.__rlshift__(), ArithRef.__rmod__(), BitVecRef.__rmod__(), ArithRef.__rmul__(), BitVecRef.__rmul__(), BitVecRef.__ror__(), ArithRef.__rpow__(), BitVecRef.__rrshift__(), BitVecRef.__rshift__(), ArithRef.__rsub__(), BitVecRef.__rsub__(), BitVecRef.__rxor__(), AstVector.__setitem__(), AstMap.__setitem__(), ArithRef.__sub__(), BitVecRef.__sub__(), BitVecRef.__xor__(), DatatypeSortRef.accessor(), ExprRef.arg(), FuncEntry.arg_value(), FuncInterp.arity(), Goal.as_expr(), Solver.assert_and_track(), Goal.assert_exprs(), Solver.assert_exprs(), QuantifierRef.body(), Solver.check(), Goal.convert_model(), AstRef.ctx_ref(), ExprRef.decl(), ModelRef.decls(), ArrayRef.default(), RatNumRef.denominator(), Goal.depth(), Goal.dimacs(), FuncDeclRef.domain(), ArraySortRef.domain_n(), FuncInterp.else_value(), FuncInterp.entry(), AstMap.erase(), ModelRef.eval(), Goal.get(), ParamDescrsRef.get_documentation(), ModelRef.get_interp(), Statistics.get_key_value(), ParamDescrsRef.get_kind(), ParamDescrsRef.get_name(), ModelRef.get_sort(), ModelRef.get_universe(), Goal.inconsistent(), AstMap.keys(), Statistics.keys(), Solver.model(), SortRef.name(), QuantifierRef.no_pattern(), FuncEntry.num_args(), FuncInterp.num_entries(), Solver.num_scopes(), ModelRef.num_sorts(), FuncDeclRef.params(), QuantifierRef.pattern(), AlgebraicNumRef.poly(), Solver.pop(), Goal.prec(), ModelRef.project(), ModelRef.project_with_witness(), Solver.push(), AstVector.push(), QuantifierRef.qid(), FuncDeclRef.range(), ArraySortRef.range(), DatatypeSortRef.recognizer(), Context.ref(), AstMap.reset(), Solver.reset(), AstVector.resize(), Solver.set(), ParamsRef.set(), Goal.sexpr(), AstVector.sexpr(), ModelRef.sexpr(), ParamDescrsRef.size(), Goal.size(), QuantifierRef.skolem_id(), AstVector.translate(), AstRef.translate(), Goal.translate(), ModelRef.translate(), ParamsRef.validate(), FuncEntry.value(), QuantifierRef.var_name(), and QuantifierRef.var_sort().

◆ optimize

optimize

Definition at line 8086 of file z3py.py.