mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-08 12:15:48 -05:00
[bugfix] Allow semantic propagation of already true lits
This commit is contained in:
parent
58e6b924a8
commit
f80c3b3df7
1 changed files with 8 additions and 5 deletions
|
|
@ -499,11 +499,14 @@ module Make
|
||||||
(fun k->k (Vec.size env.elt_queue) pp_atom a)
|
(fun k->k (Vec.size env.elt_queue) pp_atom a)
|
||||||
|
|
||||||
let enqueue_semantic a terms =
|
let enqueue_semantic a terms =
|
||||||
let l = List.map St.add_term terms in
|
if a.is_true then ()
|
||||||
let lvl = List.fold_left (fun acc {l_level; _} ->
|
else begin
|
||||||
assert (l_level > 0); max acc l_level) 0 l in
|
let l = List.map St.add_term terms in
|
||||||
Iheap.grow_to_at_least env.order (St.nb_elt ());
|
let lvl = List.fold_left (fun acc {l_level; _} ->
|
||||||
enqueue_bool a lvl Semantic
|
assert (l_level > 0); max acc l_level) 0 l in
|
||||||
|
Iheap.grow_to_at_least env.order (St.nb_elt ());
|
||||||
|
enqueue_bool a lvl Semantic
|
||||||
|
end
|
||||||
|
|
||||||
(* MCsat semantic assignment *)
|
(* MCsat semantic assignment *)
|
||||||
let enqueue_assign l value lvl =
|
let enqueue_assign l value lvl =
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue