Make.1-Amodule S : Sidekick_core.SOLVERtype term = S.T.Term.tval mk_bool : S.T.Term.store -> (term, term Sidekick_util.IArray.t) bool_view -> termMake a term from the given boolean view.
Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.
include PROOF with type proof := S.P.t and type proof_step := S.P.proof_step and type lit := S.Lit.t and type term := S.T.Term.tval lemma_bool_tauto : S.Lit.t Iter.t -> S.P.t -> S.P.proof_stepBoolean tautology lemma (clause)
val lemma_bool_c : string -> S.T.Term.t list -> S.P.t -> S.P.proof_stepBasic boolean logic lemma for a clause |- c. proof_bool_c b name cs is the rule designated by name.
val lemma_bool_equiv : S.T.Term.t -> S.T.Term.t -> S.P.t -> S.P.proof_stepBoolean tautology lemma (equivalence)
val lemma_ite_true : ite:S.T.Term.t -> S.P.t -> S.P.proof_steplemma a ==> ite a b c = b
val lemma_ite_false : ite:S.T.Term.t -> S.P.t -> S.P.proof_steplemma ¬a ==> ite a b c = c
module Gensym : sig ... endFresh symbol generator.