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

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 8197 of file z3py.py.

8197 def __init__(self, optimize=None, ctx=None):
8198 self.ctx = _get_ctx(ctx)
8199 if optimize is None:
8200 self.optimize = Z3_mk_optimize(self.ctx.ref())
8201 else:
8202 self.optimize = optimize
8203 self._on_models_id = None
8204 Z3_optimize_inc_ref(self.ctx.ref(), self.optimize)
8205
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 8209 of file z3py.py.

8209 def __del__(self):
8210 if self.optimize is not None and self.ctx.ref() is not None and Z3_optimize_dec_ref is not None:
8211 Z3_optimize_dec_ref(self.ctx.ref(), self.optimize)
8212 if self._on_models_id is not None:
8213 del _on_models[self._on_models_id]
8214
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 8206 of file z3py.py.

8206 def __deepcopy__(self, memo={}):
8207 return Optimize(self.optimize, self.ctx)
8208

◆ __enter__()

__enter__ (   self)

Definition at line 8215 of file z3py.py.

8215 def __enter__(self):
8216 self.push()
8217 return self
8218

◆ __exit__()

__exit__ (   self,
exc_info 
)

Definition at line 8219 of file z3py.py.

8219 def __exit__(self, *exc_info):
8220 self.pop()
8221

◆ __iadd__()

__iadd__ (   self,
  fml 
)

Definition at line 8253 of file z3py.py.

8253 def __iadd__(self, fml):
8254 self.add(fml)
8255 return self
8256

◆ __repr__()

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

Definition at line 8400 of file z3py.py.

8400 def __repr__(self):
8401 """Return a formatted string with all added rules and constraints."""
8402 return self.sexpr()
8403

◆ add()

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

Definition at line 8249 of file z3py.py.

8249 def add(self, *args):
8250 """Assert constraints as background axioms for the optimize solver. Alias for assert_expr."""
8251 self.assert_exprs(*args)
8252

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

8286 def add_soft(self, arg, weight="1", id=None):
8287 """Add soft constraint with optional weight and optional identifier.
8288 If no weight is supplied, then the penalty for violating the soft constraint
8289 is 1.
8290 Soft constraints are grouped by identifiers. Soft constraints that are
8291 added without identifiers are grouped by default.
8292 """
8293 if _is_int(weight):
8294 weight = "%d" % weight
8295 elif isinstance(weight, float):
8296 weight = "%f" % weight
8297 if not isinstance(weight, str):
8298 raise Z3Exception("weight should be a string or an integer")
8299 if id is None:
8300 id = ""
8301 id = to_symbol(id, self.ctx)
8302
8303 def asoft(a):
8304 v = Z3_optimize_assert_soft(self.ctx.ref(), self.optimize, a.as_ast(), weight, id)
8305 return OptimizeObjective(self, v, False)
8306 if sys.version_info.major >= 3 and isinstance(arg, Iterable):
8307 return [asoft(a) for a in arg]
8308 return asoft(arg)
8309
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 8257 of file z3py.py.

8257 def assert_and_track(self, a, p):
8258 """Assert constraint `a` and track it in the unsat core using the Boolean constant `p`.
8259
8260 If `p` is a string, it will be automatically converted into a Boolean constant.
8261
8262 >>> x = Int('x')
8263 >>> p3 = Bool('p3')
8264 >>> s = Optimize()
8265 >>> s.assert_and_track(x > 0, 'p1')
8266 >>> s.assert_and_track(x != 1, 'p2')
8267 >>> s.assert_and_track(x < 0, p3)
8268 >>> print(s.check())
8269 unsat
8270 >>> c = s.unsat_core()
8271 >>> len(c)
8272 2
8273 >>> Bool('p1') in c
8274 True
8275 >>> Bool('p2') in c
8276 False
8277 >>> p3 in c
8278 True
8279 """
8280 if isinstance(p, str):
8281 p = Bool(p, self.ctx)
8282 _z3_assert(isinstance(a, BoolRef), "Boolean expression expected")
8283 _z3_assert(isinstance(p, BoolRef) and is_const(p), "Boolean expression expected")
8284 Z3_optimize_assert_and_track(self.ctx.ref(), self.optimize, a.as_ast(), p.as_ast())
8285
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 8237 of file z3py.py.

8237 def assert_exprs(self, *args):
8238 """Assert constraints as background axioms for the optimize solver."""
8239 args = _get_args(args)
8240 s = BoolSort(self.ctx)
8241 for arg in args:
8242 if isinstance(arg, Goal) or isinstance(arg, AstVector):
8243 for f in arg:
8244 Z3_optimize_assert(self.ctx.ref(), self.optimize, f.as_ast())
8245 else:
8246 arg = s.cast(arg)
8247 Z3_optimize_assert(self.ctx.ref(), self.optimize, arg.as_ast())
8248
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 8392 of file z3py.py.

8392 def assertions(self):
8393 """Return an AST vector containing all added constraints."""
8394 return AstVector(Z3_optimize_get_assertions(self.ctx.ref(), self.optimize), self.ctx)
8395
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 8341 of file z3py.py.

8341 def check(self, *assumptions):
8342 """Check consistency and produce optimal values."""
8343 assumptions = _get_args(assumptions)
8344 num = len(assumptions)
8345 _assumptions = (Ast * num)()
8346 for i in range(num):
8347 _assumptions[i] = assumptions[i].as_ast()
8348 return CheckSatResult(Z3_optimize_check(self.ctx.ref(), self.optimize, num, _assumptions))
8349
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 8384 of file z3py.py.

8384 def from_file(self, filename):
8385 """Parse assertions and objectives from a file"""
8386 Z3_optimize_from_file(self.ctx.ref(), self.optimize, filename)
8387
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 8388 of file z3py.py.

8388 def from_string(self, s):
8389 """Parse assertions and objectives from a string"""
8390 Z3_optimize_from_string(self.ctx.ref(), self.optimize, s)
8391
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 8229 of file z3py.py.

8229 def help(self):
8230 """Display a string describing all available options."""
8231 print(Z3_optimize_get_help(self.ctx.ref(), self.optimize))
8232
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 8364 of file z3py.py.

8364 def lower(self, obj):
8365 if not isinstance(obj, OptimizeObjective):
8366 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8367 return obj.lower()
8368

◆ lower_values()

lower_values (   self,
  obj 
)

Definition at line 8374 of file z3py.py.

8374 def lower_values(self, obj):
8375 if not isinstance(obj, OptimizeObjective):
8376 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8377 return obj.lower_values()
8378

◆ maximize()

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

Definition at line 8317 of file z3py.py.

8317 def maximize(self, arg):
8318 """Add objective function to maximize."""
8319 return OptimizeObjective(
8320 self,
8321 Z3_optimize_maximize(self.ctx.ref(), self.optimize, arg.as_ast()),
8322 is_max=True,
8323 )
8324
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 8325 of file z3py.py.

8325 def minimize(self, arg):
8326 """Add objective function to minimize."""
8327 return OptimizeObjective(
8328 self,
8329 Z3_optimize_minimize(self.ctx.ref(), self.optimize, arg.as_ast()),
8330 is_max=False,
8331 )
8332
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 8354 of file z3py.py.

8354 def model(self):
8355 """Return a model for the last check()."""
8356 try:
8357 return ModelRef(Z3_optimize_get_model(self.ctx.ref(), self.optimize), self.ctx)
8358 except Z3Exception:
8359 raise Z3Exception("model is not available")
8360
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 8396 of file z3py.py.

8396 def objectives(self):
8397 """returns set of objective functions"""
8398 return AstVector(Z3_optimize_get_objectives(self.ctx.ref(), self.optimize), self.ctx)
8399
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 8233 of file z3py.py.

8233 def param_descrs(self):
8234 """Return the parameter description set."""
8235 return ParamDescrsRef(Z3_optimize_get_param_descrs(self.ctx.ref(), self.optimize), self.ctx)
8236
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 8337 of file z3py.py.

8337 def pop(self):
8338 """restore to previously created backtracking point"""
8339 Z3_optimize_pop(self.ctx.ref(), self.optimize)
8340
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 8333 of file z3py.py.

8333 def push(self):
8334 """create a backtracking point for added rules, facts and assertions"""
8335 Z3_optimize_push(self.ctx.ref(), self.optimize)
8336
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 8350 of file z3py.py.

8350 def reason_unknown(self):
8351 """Return a string that describes why the last `check()` returned `unknown`."""
8352 return Z3_optimize_get_reason_unknown(self.ctx.ref(), self.optimize)
8353
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 8222 of file z3py.py.

8222 def set(self, *args, **keys):
8223 """Set a configuration option.
8224 The method `help()` return a string containing all available options.
8225 """
8226 p = args2params(args, keys, self.ctx)
8227 Z3_optimize_set_params(self.ctx.ref(), self.optimize, p.params)
8228
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 8310 of file z3py.py.

8310 def set_initial_value(self, var, value):
8311 """initialize the solver's state by setting the initial value of var to value
8312 """
8313 s = var.sort()
8314 value = s.cast(value)
8315 Z3_optimize_set_initial_value(self.ctx.ref(), self.optimize, var.ast, value.ast)
8316
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 8415 of file z3py.py.

8415 def set_on_model(self, on_model):
8416 """Register a callback that is invoked with every incremental improvement to
8417 objective values. The callback takes a model as argument.
8418 The life-time of the model is limited to the callback so the
8419 model has to be (deep) copied if it is to be used after the callback
8420 """
8421 id = len(_on_models) + 41
8422 mdl = Model(self.ctx)
8423 _on_models[id] = (on_model, mdl)
8424 self._on_models_id = id
8426 self.ctx.ref(), self.optimize, mdl.model, ctypes.c_void_p(id), _on_model_eh,
8427 )
8428
8429
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 8404 of file z3py.py.

8404 def sexpr(self):
8405 """Return a formatted string (in Lisp-like format) with all added constraints.
8406 We say the string is in s-expression format.
8407 """
8408 return Z3_optimize_to_string(self.ctx.ref(), self.optimize)
8409
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 8410 of file z3py.py.

8410 def statistics(self):
8411 """Return statistics for the last check`.
8412 """
8413 return Statistics(Z3_optimize_get_statistics(self.ctx.ref(), self.optimize), self.ctx)
8414
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 8361 of file z3py.py.

8361 def unsat_core(self):
8362 return AstVector(Z3_optimize_get_unsat_core(self.ctx.ref(), self.optimize), self.ctx)
8363
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 8369 of file z3py.py.

8369 def upper(self, obj):
8370 if not isinstance(obj, OptimizeObjective):
8371 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8372 return obj.upper()
8373

◆ upper_values()

upper_values (   self,
  obj 
)

Definition at line 8379 of file z3py.py.

8379 def upper_values(self, obj):
8380 if not isinstance(obj, OptimizeObjective):
8381 raise Z3Exception("Expecting objective handle returned by maximize/minimize")
8382 return obj.upper_values()
8383

Field Documentation

◆ _on_models_id

_on_models_id
protected

Definition at line 8203 of file z3py.py.

◆ ctx

ctx

Definition at line 8198 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(), DatatypeRef.update_field(), ParamsRef.validate(), FuncEntry.value(), QuantifierRef.var_name(), and QuantifierRef.var_sort().

◆ optimize

optimize

Definition at line 8200 of file z3py.py.