diff --git a/dev/sidekick-base/Sidekick_base/Solver/index.html b/dev/sidekick-base/Sidekick_base/Solver/index.html index 36ea3665..6ac4a3d0 100644 --- a/dev/sidekick-base/Sidekick_base/Solver/index.html +++ b/dev/sidekick-base/Sidekick_base/Solver/index.html @@ -28,7 +28,7 @@ t -> Sidekick_smt_solver.Sigs.lit list -> Sidekick_smt_solver.Sigs.Proof.Pterm.delayed -> - unit
Add a clause to the solver, given as a list.
val assert_terms : t -> Sidekick_smt_solver.Sigs.term list -> unitHelper that turns each term into an atom, before adding disjunction of the resulting atoms to the solver as a clause assertion
val assert_term : t -> Sidekick_smt_solver.Sigs.term -> unitHelper that turns the term into an atom, before adding the result to the solver as a unit clause assertion
val add_ty : t -> Sidekick_smt_solver.Sigs.ty -> unittype res = Check_res.t = | Sat of Sidekick_smt_solver.Sigs.Model.t | (* Satisfiable *) | ||||
| Unsat of {
} | (* Unsatisfiable *) | ||||
| Unknown of Unknown.t | (* Unknown, obtained after a timeout, memory limit, etc. *) |
Result of solving for the current set of clauses
val assert_terms : t -> Sidekick_smt_solver.Sigs.term list -> unitHelper that turns each term into an atom, before adding disjunction of the resulting atoms to the solver as a clause assertion
val assert_term : t -> Sidekick_smt_solver.Sigs.term -> unitHelper that turns the term into an atom, before adding the result to the solver as a unit clause assertion
val add_ty : t -> Sidekick_smt_solver.Sigs.ty -> unittype value = Sidekick_smt_solver.Sigs.Term.ttype sat_result = Check_res.sat_result = {get_value : Sidekick_smt_solver.Sigs.Term.t -> value option; | (* Value for this term *) |
iter_classes : (Sidekick_smt_solver.Sigs.Term.t Iter.t * value) Iter.t; | (* All equivalence classes in the congruence closure *) |
eval_lit : Sidekick_smt_solver.Sigs.Lit.t -> bool option; | (* Evaluate literal *) |
iter_true_lits : Sidekick_smt_solver.Sigs.Lit.t Iter.t; | (* Iterate on literals that are true in the trail *) |
}Satisfiable
type unsat_result = Check_res.unsat_result = {unsat_core : unit -> Sidekick_smt_solver.Sigs.Lit.t Iter.t; | (* Unsat core (subset of assumptions), or empty *) |
unsat_proof : unit -> Sidekick_proof.Step.id option; | (* Proof step for the empty clause *) |
}Unsatisfiable
type res = Check_res.t = | Sat of sat_result | |
| Unsat of unsat_result | |
| Unknown of Unknown.t | (* Unknown, obtained after a timeout, memory limit, etc. *) |
Result of solving for the current set of clauses
val solve :
?on_exit:( unit -> unit ) list ->
?on_progress:( unit -> unit ) ->
?should_stop:( int -> bool ) ->
diff --git a/dev/sidekick-base/Sidekick_base/Statement/index.html b/dev/sidekick-base/Sidekick_base/Statement/index.html
index d302ba82..27f01bf8 100644
--- a/dev/sidekick-base/Sidekick_base/Statement/index.html
+++ b/dev/sidekick-base/Sidekick_base/Statement/index.html
@@ -1,2 +1,2 @@
-Statement (sidekick-base.Sidekick_base.Statement) Module Sidekick_base.Statement
Statements.
A statement is an instruction for the SMT solver to do something, like asserting that a formula is true, declaring a new constant, or checking satisfiabilty of the current set of assertions.
type t = Types_.statement = | Stmt_set_logic of string| Stmt_set_option of string list| Stmt_set_info of string * string| Stmt_data of Types_.data list| Stmt_ty_decl of ID.t * int| Stmt_decl of ID.t * Types_.ty list * Types_.ty| Stmt_define of Types_.definition list| Stmt_assert of Types_.term| Stmt_assert_clause of Types_.term list| Stmt_check_sat of (bool * Types_.term) list| Stmt_get_model| Stmt_get_value of Types_.term list| Stmt_exit
include Sidekick_sigs.PRINT with type t := t
val pp : t Sidekick_sigs.printer
\ No newline at end of file
+Statement (sidekick-base.Sidekick_base.Statement) Module Sidekick_base.Statement
Statements.
A statement is an instruction for the SMT solver to do something, like asserting that a formula is true, declaring a new constant, or checking satisfiabilty of the current set of assertions.
type t = Types_.statement = | Stmt_set_logic of string| Stmt_set_option of string list| Stmt_set_info of string * string| Stmt_data of Types_.data list| Stmt_ty_decl of {name : ID.t;arity : int;ty_const : Types_.ty;
}(*new atomic cstor
*) | Stmt_decl of {name : ID.t;ty_args : Types_.ty list;ty_ret : Types_.ty;const : Types_.term;
}| Stmt_define of Types_.definition list| Stmt_assert of Types_.term| Stmt_assert_clause of Types_.term list| Stmt_check_sat of (bool * Types_.term) list| Stmt_get_model| Stmt_get_value of Types_.term list| Stmt_exit
include Sidekick_sigs.PRINT with type t := t
val pp : t Sidekick_sigs.printer
\ No newline at end of file
diff --git a/dev/sidekick-base/Sidekick_base/Types_/index.html b/dev/sidekick-base/Sidekick_base/Types_/index.html
index dda6913c..e55f4499 100644
--- a/dev/sidekick-base/Sidekick_base/Types_/index.html
+++ b/dev/sidekick-base/Sidekick_base/Types_/index.html
@@ -4,4 +4,4 @@
* Sidekick_core_logic.Const.Ops.t
* ( Sidekick_core_logic__Types_.term Sidekick_util.Ser_decode.t ->
Sidekick_core_logic.Const.view Sidekick_util.Ser_decode.t ))
- listtype term = Term.ttype ty = Term.ttype value = Term.ttype statement = | Stmt_set_logic of string |
| Stmt_set_option of string list |
| Stmt_set_info of string * string |
| Stmt_data of data list |
| Stmt_ty_decl of ID.t * int |
| Stmt_decl of ID.t * ty list * ty |
| Stmt_define of definition list |
| Stmt_assert of term |
| Stmt_assert_clause of term list |
| Stmt_check_sat of (bool * term) list |
| Stmt_get_model |
| Stmt_get_value of term list |
| Stmt_exit |