mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
bugfix in CC explanations
This commit is contained in:
parent
0afdb06f6c
commit
78df8252dc
2 changed files with 7 additions and 3 deletions
|
|
@ -856,9 +856,12 @@ module Make (A: CC_ARG)
|
|||
let e = lazy (
|
||||
let lazy st = half_expl_and_pr in
|
||||
explain_equal_rec_ cc st u1 t1;
|
||||
(* assert that [guard /\ ¬lit] is absurd, to propagate [lit] *)
|
||||
(* true literals explaining why t1=t2 *)
|
||||
let guard = st.lits in
|
||||
(* get a proof of [guard /\ ¬lit] being absurd, to propagate [lit] *)
|
||||
Expl_state.add_lit st (Lit.neg lit);
|
||||
lits_and_proof_of_expl cc st
|
||||
let _, pr = lits_and_proof_of_expl cc st in
|
||||
guard, pr
|
||||
) in
|
||||
fun () -> Lazy.force e
|
||||
in
|
||||
|
|
|
|||
|
|
@ -1743,7 +1743,8 @@ module Make(Plugin : PLUGIN)
|
|||
match List.find (Atom.is_true store) l with
|
||||
| a ->
|
||||
invalid_argf
|
||||
"slice.acts_propagate:@ Consequence should contain only true literals, but %a isn't"
|
||||
"slice.acts_propagate:@ Consequence should contain only false literals,@ \
|
||||
but @[%a@] is true"
|
||||
(Atom.debug store) (Atom.neg a)
|
||||
| exception Not_found -> ()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue