Sidekick_smt_solver.SigsSignature for the main SMT solver types.
Theories and concrete solvers rely on an environment that defines several important types:
In this module we collect signatures defined elsewhere and define the module types for the main SMT solver.
include module type of struct include Sidekick_core endmodule Fmt = Sidekick_core.Fmtmodule Const = Sidekick_core.Constmodule Term = Sidekick_core.Termmodule Gensym = Sidekick_core.Gensymmodule Bool_view = Sidekick_core.Bool_viewmodule CC_view = Sidekick_core.CC_viewmodule Default_cc_view = Sidekick_core.Default_cc_viewmodule Bvar = Sidekick_core.Bvarmodule Lit = Sidekick_core.Litmodule Proof_step = Sidekick_core.Proof_stepmodule Proof_core = Sidekick_core.Proof_coremodule Proof_sat = Sidekick_core.Proof_satmodule Proof_trace = Sidekick_core.Proof_tracemodule Proof_term = Sidekick_core.Proof_termmodule Subst = Sidekick_core.Substmodule Var = Sidekick_core.Varmodule Simplify = Sidekick_simplifymodule CC = Sidekick_cc.CCmodule E_node = Sidekick_cc.E_nodemodule CC_expl = Sidekick_cc.Expltype term = Term.ttype ty = termtype value = Term.ttype lit = Lit.ttype term_store = Term.storetype proof_trace = Proof_trace.ttype step_id = Proof_step.idtype sat_acts = Sidekick_sat.actsConflict obtained during theory combination. It involves equalities merged because of the current model so it's not a "true" conflict and doesn't need to kill the current trail.
module type ARG = sig ... endArgument to pass to the functor Make in order to create a new Msat-based SMT solver.