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 8124 of file z3py.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 8127 of file z3py.py.

8127 def __init__(self, optimize=None, ctx=None):
8128 self.ctx = _get_ctx(ctx)
8129 if optimize is None:
8130 self.optimize = Z3_mk_optimize(self.ctx.ref())
8131 else:
8132 self.optimize = optimize
8133 self._on_models_id = None
8134 Z3_optimize_inc_ref(self.ctx.ref(), self.optimize)
8135
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 8139 of file z3py.py.

8139 def __del__(self):
8140 if self.optimize is not None and self.ctx.ref() is not None and Z3_optimize_dec_ref is not None:
8141 Z3_optimize_dec_ref(self.ctx.ref(), self.optimize)
8142 if self._on_models_id is not None:
8143 del _on_models[self._on_models_id]
8144
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 8136 of file z3py.py.

8136 def __deepcopy__(self, memo={}):
8137 return Optimize(self.optimize, self.ctx)
8138

◆ __enter__()

__enter__ (   self)

Definition at line 8145 of file z3py.py.

8145 def __enter__(self):
8146 self.push()
8147 return self
8148

◆ __exit__()

__exit__ (   self,
exc_info 
)

Definition at line 8149 of file z3py.py.

8149 def __exit__(self, *exc_info):
8150 self.pop()
8151

◆ __iadd__()

__iadd__ (   self,
  fml 
)

Definition at line 8183 of file z3py.py.

8183 def __iadd__(self, fml):
8184 self.add(fml)
8185 return self
8186

◆ __repr__()

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

Definition at line 8330 of file z3py.py.

8330 def __repr__(self):
8331 """Return a formatted string with all added rules and constraints."""
8332 return self.sexpr()
8333

◆ add()

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

Definition at line 8179 of file z3py.py.

8179 def add(self, *args):
8180 """Assert constraints as background axioms for the optimize solver. Alias for assert_expr."""
8181 self.assert_exprs(*args)
8182

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 8216 of file z3py.py.

8216 def add_soft(self, arg, weight="1", id=None):
8217 """Add soft constraint with optional weight and optional identifier.
8218 If no weight is supplied, then the penalty for violating the soft constraint
8219 is 1.
8220 Soft constraints are grouped by identifiers. Soft constraints that are
8221 added without identifiers are grouped by default.
8222 """
8223 if _is_int(weight):
8224 weight = "%d" % weight
8225 elif isinstance(weight, float):
8226 weight = "%f" % weight
8227 if not isinstance(weight, str):
8228 raise Z3Exception("weight should be a string or an integer")
8229 if id is None:
8230 id = ""
8231 id = to_symbol(id, self.ctx)
8232
8233 def asoft(a):
8234 v = Z3_optimize_assert_soft(self.ctx.ref(), self.optimize, a.as_ast(), weight, id)
8235 return OptimizeObjective(self, v, False)
8236 if sys.version_info.major >= 3 and isinstance(arg, Iterable):
8237 return [asoft(a) for a in arg]
8238 return asoft(arg)
8239
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 8187 of file z3py.py.

8187 def assert_and_track(self, a, p):
8188 """Assert constraint `a` and track it in the unsat core using the Boolean constant `p`.
8189
8190 If `p` is a string, it will be automatically converted into a Boolean constant.
8191
8192 >>> x = Int('x')
8193 >>> p3 = Bool('p3')
8194 >>> s = Optimize()
8195 >>> s.assert_and_track(x > 0, 'p1')
8196 >>> s.assert_and_track(x != 1, 'p2')
8197 >>> s.assert_and_track(x < 0, p3)
8198 >>> print(s.check())
8199 unsat
8200 >>> c = s.unsat_core()
8201 >>> len(c)
8202 2
8203 >>> Bool('p1') in c
8204 True
8205 >>> Bool('p2') in c
8206 False
8207 >>> p3 in c
8208 True
8209 """
8210 if isinstance(p, str):
8211 p = Bool(p, self.ctx)
8212 _z3_assert(isinstance(a, BoolRef), "Boolean expression expected")
8213 _z3_assert(isinstance(p, BoolRef) and is_const(p), "Boolean expression expected")
8214 Z3_optimize_assert_and_track(self.ctx.ref(), self.optimize, a.as_ast(), p.as_ast())
8215
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 8167 of file z3py.py.

8167 def assert_exprs(self, *args):
8168 """Assert constraints as background axioms for the optimize solver."""
8169 args = _get_args(args)
8170 s = BoolSort(self.ctx)
8171 for arg in args:
8172 if isinstance(arg, Goal) or isinstance(arg, AstVector):
8173 for f in arg:
8174 Z3_optimize_assert(self.ctx.ref(), self.optimize, f.as_ast())
8175 else:
8176 arg = s.cast(arg)
8177 Z3_optimize_assert(self.ctx.ref(), self.optimize, arg.as_ast())
8178
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 8322 of file z3py.py.

8322 def assertions(self):
8323 """Return an AST vector containing all added constraints."""
8324 return AstVector(Z3_optimize_get_assertions(self.ctx.ref(), self.optimize), self.ctx)
8325
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 8271 of file z3py.py.

8271 def check(self, *assumptions):
8272 """Check consistency and produce optimal values."""
8273 assumptions = _get_args(assumptions)
8274 num = len(assumptions)
8275 _assumptions = (Ast * num)()
8276 for i in range(num):
8277 _assumptions[i] = assumptions[i].as_ast()
8278 return CheckSatResult(Z3_optimize_check(self.ctx.ref(), self.optimize, num, _assumptions))
8279
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 8314 of file z3py.py.

8314 def from_file(self, filename):
8315 """Parse assertions and objectives from a file"""
8316 Z3_optimize_from_file(self.ctx.ref(), self.optimize, filename)
8317
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 8318 of file z3py.py.

8318 def from_string(self, s):
8319 """Parse assertions and objectives from a string"""
8320 Z3_optimize_from_string(self.ctx.ref(), self.optimize, s)
8321
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 8159 of file z3py.py.

8159 def help(self):
8160 """Display a string describing all available options."""
8161 print(Z3_optimize_get_help(self.ctx.ref(), self.optimize))
8162
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 8294 of file z3py.py.

8294 def lower(self, obj):
8295 if not isinstance(obj, OptimizeObjective):
8296 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8297 return obj.lower()
8298

◆ lower_values()

lower_values (   self,
  obj 
)

Definition at line 8304 of file z3py.py.

8304 def lower_values(self, obj):
8305 if not isinstance(obj, OptimizeObjective):
8306 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8307 return obj.lower_values()
8308

◆ maximize()

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

Definition at line 8247 of file z3py.py.

8247 def maximize(self, arg):
8248 """Add objective function to maximize."""
8249 return OptimizeObjective(
8250 self,
8251 Z3_optimize_maximize(self.ctx.ref(), self.optimize, arg.as_ast()),
8252 is_max=True,
8253 )
8254
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 8255 of file z3py.py.

8255 def minimize(self, arg):
8256 """Add objective function to minimize."""
8257 return OptimizeObjective(
8258 self,
8259 Z3_optimize_minimize(self.ctx.ref(), self.optimize, arg.as_ast()),
8260 is_max=False,
8261 )
8262
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 8284 of file z3py.py.

8284 def model(self):
8285 """Return a model for the last check()."""
8286 try:
8287 return ModelRef(Z3_optimize_get_model(self.ctx.ref(), self.optimize), self.ctx)
8288 except Z3Exception:
8289 raise Z3Exception("model is not available")
8290
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 8326 of file z3py.py.

8326 def objectives(self):
8327 """returns set of objective functions"""
8328 return AstVector(Z3_optimize_get_objectives(self.ctx.ref(), self.optimize), self.ctx)
8329
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 8163 of file z3py.py.

8163 def param_descrs(self):
8164 """Return the parameter description set."""
8165 return ParamDescrsRef(Z3_optimize_get_param_descrs(self.ctx.ref(), self.optimize), self.ctx)
8166
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 8267 of file z3py.py.

8267 def pop(self):
8268 """restore to previously created backtracking point"""
8269 Z3_optimize_pop(self.ctx.ref(), self.optimize)
8270
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 8263 of file z3py.py.

8263 def push(self):
8264 """create a backtracking point for added rules, facts and assertions"""
8265 Z3_optimize_push(self.ctx.ref(), self.optimize)
8266
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 8280 of file z3py.py.

8280 def reason_unknown(self):
8281 """Return a string that describes why the last `check()` returned `unknown`."""
8282 return Z3_optimize_get_reason_unknown(self.ctx.ref(), self.optimize)
8283
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 8152 of file z3py.py.

8152 def set(self, *args, **keys):
8153 """Set a configuration option.
8154 The method `help()` return a string containing all available options.
8155 """
8156 p = args2params(args, keys, self.ctx)
8157 Z3_optimize_set_params(self.ctx.ref(), self.optimize, p.params)
8158
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 8240 of file z3py.py.

8240 def set_initial_value(self, var, value):
8241 """initialize the solver's state by setting the initial value of var to value
8242 """
8243 s = var.sort()
8244 value = s.cast(value)
8245 Z3_optimize_set_initial_value(self.ctx.ref(), self.optimize, var.ast, value.ast)
8246
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 8345 of file z3py.py.

8345 def set_on_model(self, on_model):
8346 """Register a callback that is invoked with every incremental improvement to
8347 objective values. The callback takes a model as argument.
8348 The life-time of the model is limited to the callback so the
8349 model has to be (deep) copied if it is to be used after the callback
8350 """
8351 id = len(_on_models) + 41
8352 mdl = Model(self.ctx)
8353 _on_models[id] = (on_model, mdl)
8354 self._on_models_id = id
8356 self.ctx.ref(), self.optimize, mdl.model, ctypes.c_void_p(id), _on_model_eh,
8357 )
8358
8359
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 8334 of file z3py.py.

8334 def sexpr(self):
8335 """Return a formatted string (in Lisp-like format) with all added constraints.
8336 We say the string is in s-expression format.
8337 """
8338 return Z3_optimize_to_string(self.ctx.ref(), self.optimize)
8339
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 8340 of file z3py.py.

8340 def statistics(self):
8341 """Return statistics for the last check`.
8342 """
8343 return Statistics(Z3_optimize_get_statistics(self.ctx.ref(), self.optimize), self.ctx)
8344
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 8291 of file z3py.py.

8291 def unsat_core(self):
8292 return AstVector(Z3_optimize_get_unsat_core(self.ctx.ref(), self.optimize), self.ctx)
8293
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 8299 of file z3py.py.

8299 def upper(self, obj):
8300 if not isinstance(obj, OptimizeObjective):
8301 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8302 return obj.upper()
8303

◆ upper_values()

upper_values (   self,
  obj 
)

Definition at line 8309 of file z3py.py.

8309 def upper_values(self, obj):
8310 if not isinstance(obj, OptimizeObjective):
8311 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8312 return obj.upper_values()
8313

Field Documentation

◆ _on_models_id

_on_models_id
protected

Definition at line 8133 of file z3py.py.

◆ ctx

ctx

Definition at line 8128 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(), ExprRef.update(), ParamsRef.validate(), FuncEntry.value(), QuantifierRef.var_name(), and QuantifierRef.var_sort().

◆ optimize

optimize

Definition at line 8130 of file z3py.py.