Solvers. More...
Data Structures | |
class | DecRefQueue |
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... | |
![]() | |
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... | |
![]() | |
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.
Checks whether the assertions in the solver are consistent or not.
Checks whether the assertions in the solver are consistent or not.
|
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.
Definition at line 380 of file Solver.cs.
|
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 |
Sets the solver parameters.
Definition at line 47 of file Solver.cs.
Referenced by Solver.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.