mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-08 04:05:43 -05:00
Bugfix for user lvl push when already unsat
This commit is contained in:
parent
2bba885266
commit
5e57bfc827
1 changed files with 18 additions and 15 deletions
|
|
@ -1199,8 +1199,11 @@ module Make
|
||||||
(* create a factice decision level for local assumptions *)
|
(* create a factice decision level for local assumptions *)
|
||||||
let push (): unit =
|
let push (): unit =
|
||||||
Log.debugf debug "Pushing a new user level" (fun k -> k);
|
Log.debugf debug "Pushing a new user level" (fun k -> k);
|
||||||
|
match env.unsat_conflict with
|
||||||
|
| Some confl -> raise Unsat
|
||||||
|
| None ->
|
||||||
cancel_until (base_level ());
|
cancel_until (base_level ());
|
||||||
Log.debugf debug "@[<v>Status:@,@[<hov 2>trail: %d - %d@,%a@]"
|
Log.debugf debug "@[<v>Status:@,@[<hov 2>trail: %d - %d@]@,%a@]"
|
||||||
(fun k -> k env.elt_head env.th_head (Vec.print ~sep:"" St.pp) env.elt_queue);
|
(fun k -> k env.elt_head env.th_head (Vec.print ~sep:"" St.pp) env.elt_queue);
|
||||||
begin match propagate () with
|
begin match propagate () with
|
||||||
| Some confl ->
|
| Some confl ->
|
||||||
|
|
@ -1217,7 +1220,7 @@ module Make
|
||||||
(* pop the last factice decision level *)
|
(* pop the last factice decision level *)
|
||||||
let pop (): unit =
|
let pop (): unit =
|
||||||
if base_level () = 0 then
|
if base_level () = 0 then
|
||||||
Log.debugf warn "Cannot pop (already at level 0)" (fun k -> k)
|
Log.debugf warn "Cannot pop (already at user level 0)" (fun k -> k)
|
||||||
else begin
|
else begin
|
||||||
Log.debugf info "Popping user level" (fun k -> k);
|
Log.debugf info "Popping user level" (fun k -> k);
|
||||||
assert (base_level () > 0);
|
assert (base_level () > 0);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue