Module Sidekick_base.Proof_stub
Dummy proof module that does nothing.
include Sidekick_core.PROOF with type lit = Lit.t and type term = Base_types.Term.t
type tThe abstract representation of a proof. A proof always proves a clause to be valid (true in every possible interpretation of the problem's assertions, and the theories)
type term= Base_types.Term.ttype lit= Lit.t
include Sidekick_core.SAT_PROOF with type t := t and type lit := lit
type dproof= t -> unitA delayed proof, used to produce proofs on demand from theories.
val with_proof : t -> (t -> unit) -> unitIf proof is enabled, call
fon it to emit steps. if proof is disabled, the callback won't even be called.
val begin_subproof : t -> unitBegins a subproof. The result of this will only be the clause with which
end_subproofis called; all other intermediate steps will be discarded.
val end_subproof : t -> unitend_subproof pends the current active subproof, the last result of which is kept.
val create : unit -> tval lemma_bool_tauto : Lit.t Iter.t -> t -> unitval lemma_bool_c : string -> term list -> t -> unitval lemma_bool_equiv : term -> term -> t -> unitval lemma_ite_true : a:term -> ite:term -> t -> unitval lemma_ite_false : a:term -> ite:term -> t -> unitval lemma_lra : Lit.t Iter.t -> t -> unitval lemma_isa_split : Lit.t Iter.t -> t -> unitval lemma_isa_disj : Lit.t Iter.t -> t -> unitval lemma_cstor_inj : Lit.t Iter.t -> t -> unit