Sidekick_base_solver.SolverSMT solver, obtained from Sidekick_smt_solver
module T : sig ... endmodule Lit : sig ... endtype proof = Solver_arg.prooftype proof_step = Solver_arg.proof_stepmodule P : sig ... endmodule Solver_internal : sig ... endtype solver = ttype term = T.Term.ttype ty = T.Ty.ttype lit = Lit.tmodule type THEORY = sig ... endtype theory = (module THEORY)val mk_theory : name:string -> create_and_setup:(Solver_internal.t -> 'th) ->
?push_level:('th -> unit) -> ?pop_levels:('th -> int -> unit) -> unit -> theorymodule Model : sig ... endmodule Unknown : sig ... endval stats : t -> Sidekick_util.Stat.tval tst : t -> T.Term.storeval ty_st : t -> T.Ty.storeval create : ?stat:Sidekick_util.Stat.t -> ?size:[ `Big | `Small | `Tiny ] -> proof:proof -> theories:theory list ->
T.Term.store -> T.Ty.store -> unit -> tval add_clause : t -> lit Sidekick_util.IArray.t -> proof_step -> unitval add_clause_l : t -> lit list -> proof_step -> unittype res = Sidekick_smt_solver.Make(Solver_arg).res = | Sat of Model.t | ||
| Unsat of {
} | ||
| Unknown of Unknown.t |
val pp_stats : t CCFormat.printer