mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 11:15:43 -05:00
fix(sat): bugfix about adding clauses with true lits
This commit is contained in:
parent
46ff8c3ba6
commit
72750b9e1a
1 changed files with 4 additions and 2 deletions
|
|
@ -999,12 +999,14 @@ module Make (Th : Theory_intf.S) = struct
|
|||
a.(j) <- tmp;
|
||||
)
|
||||
|
||||
(* move atoms that are not assigned first,
|
||||
(* move true atoms first,
|
||||
else move atoms that are not assigned first,
|
||||
else put atoms assigned at high levels first *)
|
||||
let put_high_level_atoms_first (arr:atom array) : unit =
|
||||
(* move [a] in front of [b]? *)
|
||||
let[@inline] put_before a b =
|
||||
if Atom.level a < 0 then Atom.level b >= 0
|
||||
if Atom.is_true a then not (Atom.is_true b) || Atom.level a>Atom.level b
|
||||
else if Atom.level a < 0 then Atom.level b >= 0
|
||||
else (Atom.level b >= 0 && Atom.level a > Atom.level b)
|
||||
in
|
||||
Array.iteri
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue