3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-01 11:16:54 +00:00

Merge pull request #8702 from Z3Prover/copilot/fix-issues-in-discussion-8701

Add missing solver/optimizer API bindings across language targets
This commit is contained in:
Nikolaj Bjorner 2026-02-20 09:28:50 -08:00 committed by GitHub
commit e2129a7b81
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 399 additions and 0 deletions

View file

@ -3476,6 +3476,22 @@ sig
(** Provide an initial value hint for a variable to the solver.
This can help guide the solver to find solutions more efficiently. *)
val set_initial_value : solver -> Expr.expr -> Expr.expr -> unit
(** Extract cubes from the solver for cube-and-conquer parallel solving.
vars is a list of variables to use as cube variables; use an empty list for automatic selection.
cutoff is the backtrack level cutoff for cube generation.
Returns a list of expressions representing the cube literals. *)
val cube : solver -> Expr.expr list -> int -> Expr.expr list
(** Retrieve fixed assignments to variables as consequences given assumptions.
Returns the solver status and a list of consequence expressions.
Each consequence is an implication: assumptions => variable = value. *)
val get_consequences : solver -> Expr.expr list -> Expr.expr list -> status * Expr.expr list
(** Solve constraints treating given variables symbolically.
variables are the variables to solve for, terms are the substitution terms,
and guards are Boolean guards for the substitutions. *)
val solve_for : solver -> Expr.expr list -> Expr.expr list -> Expr.expr list -> unit
end
(** Fixedpoint solving *)