mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 11:45:41 -05:00
Optim for non-mcsat solvers
This commit is contained in:
parent
7016bb1825
commit
6f54604dc9
1 changed files with 7 additions and 5 deletions
|
|
@ -185,16 +185,18 @@ module Make
|
|||
to ignore some subterms for instance), so we want to 'cache' to list
|
||||
of subterms of each formula, so we have a field [v_assignable]
|
||||
directly in variables to do so. *)
|
||||
let iter_sub f v = match v.v_assignable with
|
||||
| None -> assert false
|
||||
| Some [] -> ()
|
||||
| Some l -> List.iter f l
|
||||
let iter_sub f v =
|
||||
if St.mcsat then
|
||||
match v.v_assignable with
|
||||
| Some l -> List.iter f l
|
||||
| None -> assert false
|
||||
|
||||
(* When we have a new literal,
|
||||
we need to first create the list of its subterms. *)
|
||||
let atom (f:St.formula) : atom =
|
||||
let res = add_atom f in
|
||||
begin match res.var.v_assignable with
|
||||
if St.mcsat then
|
||||
begin match res.var.v_assignable with
|
||||
| Some _ -> ()
|
||||
| None ->
|
||||
let l = ref [] in
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue