Module Solver.P
type t= proofThe 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)
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.