module Make:
| Parameters: |
|
module E:Env.S
module Solver:Sat_solver.S
module BLit: BBox.Lit
val split : E.multi_simpl_ruleval check_empty : E.unary_inf_ruleval before_check_sat : unit Signal.t
val after_check_sat : unit Signal.t
val filter_absurd_trails : (Trail.t -> bool) -> unitfilter_trails f calls f on every trail associated with the empty
clause. If f returns false, the trail is ignored, otherwise
it's negated and sent to the SAT solverval check_satisfiability : E.generate_ruletype cut_res = private {
|
cut_src : |
(* |
the lemma itself
| *) |
|
cut_pos : |
(* |
clauses true if lemma is true
| *) |
|
cut_neg : |
(* |
clauses true if lemma is false
| *) |
|
cut_lit : |
(* |
lit that is true if lemma is true
| *) |
val pp_cut_res : cut_res CCFormat.printer
val cut_res_clauses : cut_res -> E.C.t Sequence.t
val print_lemmas : unit CCFormat.printerval introduce_cut : Literals.t list -> ProofStep.t -> cut_resval on_input_lemma : cut_res Signal.tval convert_lemma : E.clause_conversion_ruleAvatar_intf.S.on_input_lemma with the resulting cutval register : unit -> unit