Solvers. More...
Public Member Functions | |
void | Set (string name, bool value) |
Sets parameter on the solver More... | |
void | Set (string name, uint value) |
Sets parameter on the solver More... | |
void | Set (string name, double value) |
Sets parameter on the solver More... | |
void | Set (string name, string value) |
Sets parameter on the solver More... | |
void | Set (string name, Symbol value) |
Sets parameter on the solver More... | |
void | Set (Symbol name, bool value) |
Sets parameter on the solver More... | |
void | Set (Symbol name, uint value) |
Sets parameter on the solver More... | |
void | Set (Symbol name, double value) |
Sets parameter on the solver More... | |
void | Set (Symbol name, string value) |
Sets parameter on the solver More... | |
void | Set (Symbol name, Symbol value) |
Sets parameter on the solver More... | |
void | Push () |
Creates a backtracking point. More... | |
void | Pop (uint n=1) |
Backtracks n backtracking points. More... | |
void | Reset () |
Resets the Solver. More... | |
void | Assert (params BoolExpr[] constraints) |
Assert a constraint (or multiple) into the solver. More... | |
void | Add (params BoolExpr[] constraints) |
Alias for Assert. More... | |
void | Add (IEnumerable< BoolExpr > constraints) |
Alias for Assert. More... | |
void | AssertAndTrack (BoolExpr[] constraints, BoolExpr[] ps) |
Assert multiple constraints into the solver, and track them (in the unsat) core using the Boolean constants in ps. More... | |
void | AssertAndTrack (BoolExpr constraint, BoolExpr p) |
Assert a constraint into the solver, and track it (in the unsat) core using the Boolean constant p. More... | |
void | FromFile (string file) |
Load solver assertions from a file. More... | |
void | FromString (string str) |
Load solver assertions from a string. More... | |
Status | Check (params Expr[] assumptions) |
Checks whether the assertions in the solver are consistent or not. More... | |
Status | Check (IEnumerable< BoolExpr > assumptions) |
Checks whether the assertions in the solver are consistent or not. More... | |
Status | Consequences (IEnumerable< BoolExpr > assumptions, IEnumerable< Expr > variables, out BoolExpr[] consequences) |
Retrieve fixed assignments to the set of variables in the form of consequences. Each consequence is an implication of the form More... | |
IEnumerable< BoolExpr[]> | Cube () |
Return a set of cubes. More... | |
Solver | Translate (Context ctx) |
Create a clone of the current solver with respect to ctx . More... | |
void | ImportModelConverter (Solver src) |
Import model converter from other solver. More... | |
override string | ToString () |
A string representation of the solver. More... | |
Public Member Functions inherited from Z3Object | |
void | Dispose () |
Disposes of the underlying native Z3 object. More... | |
Properties | |
string | Help [get] |
A string that describes all available solver parameters. More... | |
Params | Parameters [set] |
Sets the solver parameters. More... | |
ParamDescrs | ParameterDescriptions [get] |
Retrieves parameter descriptions for solver. More... | |
uint | NumScopes [get] |
The current number of backtracking points (scopes). More... | |
uint | NumAssertions [get] |
The number of assertions in the solver. More... | |
BoolExpr[] | Assertions [get] |
The set of asserted formulas. More... | |
BoolExpr[] | Units [get] |
Currently inferred units. More... | |
Model | Model [get] |
The model of the last Check(params Expr[] assumptions) . More... | |
Expr | Proof [get] |
The proof of the last Check(params Expr[] assumptions) . More... | |
BoolExpr[] | UnsatCore [get] |
The unsat core of the last Check . More... | |
string | ReasonUnknown [get] |
A brief justification of why the last call to Check returned UNKNOWN . More... | |
uint | BacktrackLevel [get, set] |
Backtrack level that can be adjusted by conquer process More... | |
BoolExpr[] | CubeVariables [get, set] |
Variables available and returned by the cuber. More... | |
Statistics | Statistics [get] |
Solver statistics. More... | |
Properties inherited from Z3Object | |
Context | Context [get] |
Access Context object More... | |
|
inline |
Alias for Assert.
Definition at line 223 of file Solver.cs.
|
inline |
|
inline |
Assert a constraint (or multiple) into the solver.
Definition at line 200 of file Solver.cs.
Referenced by Solver.Add(), Context.MkSolver(), and Solver.Translate().
Assert a constraint into the solver, and track it (in the unsat) core using the Boolean constant p.
This API is an alternative to Check(Expr[]) with assumptions for extracting unsat cores. Both APIs can be used in the same solver. The unsat core will contain a combination of the Boolean variables provided using AssertAndTrack(BoolExpr[],BoolExpr[]) and the Boolean literals provided using Check(Expr[]) with assumptions.
Assert multiple constraints into the solver, and track them (in the unsat) core using the Boolean constants in ps.
This API is an alternative to Check(Expr[]) with assumptions for extracting unsat cores. Both APIs can be used in the same solver. The unsat core will contain a combination of the Boolean variables provided using AssertAndTrack(BoolExpr[],BoolExpr[]) and the Boolean literals provided using Check(Expr[]) with assumptions.
Definition at line 239 of file Solver.cs.
|
inline |
Retrieve fixed assignments to the set of variables in the form of consequences. Each consequence is an implication of the form
relevant-assumptions Implies variable = value
where the relevant assumptions is a subset of the assumptions that are passed in and the equality on the right side of the implication indicates how a variable is fixed.
|
inline |
Return a set of cubes.
Definition at line 474 of file Solver.cs.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets parameter on the solver
Definition at line 61 of file Solver.cs.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
get |
|
getset |
Backtrack level that can be adjusted by conquer process
Definition at line 463 of file Solver.cs.
Referenced by Solver.Cube().
|
getset |
Variables available and returned by the cuber.
Definition at line 468 of file Solver.cs.
Referenced by Solver.Cube().
|
get |
The model of the last Check(params Expr[] assumptions)
.
The result is null
if Check(params Expr[] assumptions)
was not invoked before, if its results was not SATISFIABLE
, or if model production is not enabled.
Definition at line 399 of file Solver.cs.
|
get |
|
get |
|
get |
|
set |
|
get |
The proof of the last Check(params Expr[] assumptions)
.
The result is null
if Check(params Expr[] assumptions)
was not invoked before, if its results was not UNSATISFIABLE
, or if proof production is disabled.
|
get |
|
get |
|
get |
|
get |
The unsat core of the last Check
.
The unsat core is a subset of Assertions
The result is empty if Check
was not invoked before, if its results was not UNSATISFIABLE
, or if core production is disabled.