Solver.Solver_internalmodule T : sig ... endmodule Lit : sig ... endtype ty = T.Ty.ttype term = T.Term.ttype term_store = T.Term.storetype ty_store = T.Ty.storetype clause_pool = Sidekick_smt_solver.Make(Solver_arg).Solver_internal.clause_pooltype proof = prooftype proof_step = proof_stepmodule P : sig ... endtype solver = tval tst : t -> term_storeval stats : t -> Sidekick_util.Stat.ttype theory_actions = Sidekick_smt_solver.Make(Solver_arg).Solver_internal.theory_actionstype lit = Lit.tmodule CC : sig ... endmodule Simplify : sig ... endtype simplify_hook = Simplify.hookval add_simplifier : t -> Simplify.hook -> unitval simplify_t : t -> term -> (term * proof_step) optionval simp_t : t -> term -> term * proof_step optionmodule type PREPROCESS_ACTS = sig ... endtype preprocess_actions = (module PREPROCESS_ACTS)type preprocess_hook = t -> preprocess_actions -> term -> (term * proof_step Iter.t) optionval on_preprocess : t -> preprocess_hook -> unitval preprocess_acts_of_acts : t -> theory_actions -> preprocess_actionsval raise_conflict : t -> theory_actions -> lit list -> proof_step -> 'aval push_decision : t -> theory_actions -> lit -> unitval propagate : t -> theory_actions -> lit -> reason:(unit -> lit list * proof_step) -> unitval propagate_l : t -> theory_actions -> lit -> lit list -> proof_step -> unitval add_clause_temp : t -> theory_actions -> lit list -> proof_step -> unitval add_clause_permanent : t -> theory_actions -> lit list -> proof_step -> unitval mk_lit : t -> theory_actions -> ?sign:bool -> term -> litval preprocess_term : t -> preprocess_actions -> term -> term * proof_step optionval add_lit : t -> theory_actions -> ?default_pol:bool -> lit -> unitval add_lit_t : t -> theory_actions -> ?sign:bool -> term -> unitval cc_raise_conflict_expl : t -> theory_actions -> CC.Expl.t -> 'aval cc_merge : t -> theory_actions -> CC.N.t -> CC.N.t -> CC.Expl.t -> unitval cc_merge_t : t -> theory_actions -> term -> term -> CC.Expl.t -> unitval on_cc_post_merge : t -> (CC.t -> theory_actions -> CC.N.t -> CC.N.t -> unit) -> unitval on_cc_propagate : t -> (CC.t -> lit -> (unit -> lit list * proof_step) -> unit) -> unitval on_partial_check : t -> (t -> theory_actions -> lit Iter.t -> unit) -> unitval on_final_check : t -> (t -> theory_actions -> lit Iter.t -> unit) -> unitval on_model_gen : t -> model_hook -> unit