diff --git a/dev/sidekick-base/Sidekick_base/Solver/index.html b/dev/sidekick-base/Sidekick_base/Solver/index.html index a2f7ffda..36ea3665 100644 --- a/dev/sidekick-base/Sidekick_base/Solver/index.html +++ b/dev/sidekick-base/Sidekick_base/Solver/index.html @@ -8,12 +8,11 @@ ?push_level:( 'th -> unit ) -> ?pop_levels:( 'th -> int -> unit ) -> unit -> - Sidekick_smt_solver.Theory.t
Helper to create a theory.
val stats : t -> Sidekick_util.Stat.tval tst : t -> Sidekick_smt_solver.Sigs.Term.storeval proof : t -> Sidekick_smt_solver.Sigs.proof_traceval create :
+ Sidekick_smt_solver.Theory.tHelper to create a theory.
val stats : t -> Sidekick_util.Stat.tval tst : t -> Sidekick_smt_solver.Sigs.Term.storeval tracer : t -> Sidekick_smt_solver.Tracer.tval create :
(module Sidekick_smt_solver.Sigs.ARG) ->
?stat:Sidekick_util.Stat.t ->
?size:[ `Big | `Tiny | `Small ] ->
- ?tracer:Sidekick_smt_solver.Tracer.t ->
- proof:Sidekick_smt_solver.Sigs.proof_trace ->
+ tracer:Sidekick_smt_solver.Tracer.t ->
theories:Sidekick_smt_solver.Theory.t list ->
Sidekick_smt_solver.Sigs.Term.store ->
unit ->
@@ -24,12 +23,12 @@
Sidekick_smt_solver.Sigs.litmk_lit_t _ ~sign t returns lit', where lit' is preprocess(lit) and lit is an internal representation of ± t.
The proof of |- lit = lit' is directly added to the solver's proof.
val add_clause :
t ->
Sidekick_smt_solver.Sigs.lit array ->
- Sidekick_smt_solver.Sigs.step_id ->
+ Sidekick_smt_solver.Sigs.Proof.Pterm.delayed ->
unitadd_clause solver cs adds a boolean clause to the solver. Subsequent calls to solve will need to satisfy this clause.
val add_clause_l :
t ->
Sidekick_smt_solver.Sigs.lit list ->
- Sidekick_smt_solver.Sigs.step_id ->
- unitAdd 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 solve :
+ Sidekick_smt_solver.Sigs.Proof.Pterm.delayed ->
+ unitAdd 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 solve :
?on_exit:( unit -> unit ) list ->
?on_progress:( unit -> unit ) ->
?should_stop:( int -> bool ) ->
@@ -41,8 +40,7 @@
propagation_resultcheck_sat_propagations_only solver uses assumptions (including the assumptions parameter, and atoms previously added via push_assumptions) and boolean+theory propagation to quickly assess satisfiability. It is not complete; calling solve is required to get an accurate result.
val pp_stats : t CCFormat.printerPrint some statistics. What it prints exactly is unspecified.
val default_arg : (module Sidekick_smt_solver.Sigs.ARG)val create_default :
?stat:Sidekick_util.Stat.t ->
?size:[ `Big | `Small | `Tiny ] ->
- ?tracer:Sidekick_smt_solver.Tracer.t ->
- proof:Sidekick_smt_solver.Sigs.proof_trace ->
+ tracer:Sidekick_smt_solver.Tracer.t ->
theories:Sidekick_smt_solver.Theory.t list ->
Sidekick_smt_solver.Sigs.Term.store ->
t