From c5d3d6b7f33c63777d5ea260c28a7f4d46878ed7 Mon Sep 17 00:00:00 2001 From: Quentin Petitjean <petitjean.quentin.54@gmail.com> Date: Tue, 15 Jun 2021 03:56:04 +0200 Subject: [PATCH] Modifying some blob functions --- src_colibri2/solver/scheduler.ml | 2 +- src_colibri2/theories/bool/boolean.ml | 5 ++++- src_colibri2/theories/bool/equality.ml | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src_colibri2/solver/scheduler.ml b/src_colibri2/solver/scheduler.ml index 529da7728..160a046e0 100644 --- a/src_colibri2/solver/scheduler.ml +++ b/src_colibri2/solver/scheduler.ml @@ -239,7 +239,7 @@ let run_one_step_propagation_l t = let module Dem = (val Egraph.Wait.get_dem key) in if Ground.Learn.is_uninitialized key then begin let blob = Ground.Learn.get key in - if (LearnSet.mem (blob key Dem.t) (t.learn_set)) then + if (LearnSet.mem (blob key runable) (t.learn_set)) then true else begin let d = Egraph.Backtrackable.get_delayed t.solver_state in diff --git a/src_colibri2/theories/bool/boolean.ml b/src_colibri2/theories/bool/boolean.ml index c7d2fcadb..b9a15de66 100644 --- a/src_colibri2/theories/bool/boolean.ml +++ b/src_colibri2/theories/bool/boolean.ml @@ -152,6 +152,8 @@ module TwoWatchLiteral = struct let delay = Events.Delayed_by 1 + let blob _ e = e.ground + type res_scan = | LimitReached | Absorbent @@ -269,7 +271,8 @@ module TwoWatchLiteral = struct attach (d :> Egraph.Ro.t) r from_end end - let () = Egraph.Wait.register_dem (module Daemon) + let () = Egraph.Wait.register_dem (module Daemon); + Ground.Learn.set Daemon.key Daemon.blob let create = Daemon.create end diff --git a/src_colibri2/theories/bool/equality.ml b/src_colibri2/theories/bool/equality.ml index ed1d8397a..1cf221de6 100644 --- a/src_colibri2/theories/bool/equality.ml +++ b/src_colibri2/theories/bool/equality.ml @@ -336,7 +336,7 @@ module DaemonPropa = struct let delay = Events.Delayed_by 1 let wakeup d v _ev () = norm_dom d (ThE.index v) - let blob _ _ _ = None + let blob _ _ _ = Some "Equality.DaemonPropa : " end module RDaemonPropa = Demon.Key.Register(DaemonPropa) @@ -379,7 +379,7 @@ module DaemonInit = struct | _ -> raise UnwaitedEvent ) ev; Demon.AliveReattached - let blob _ _ _ = None + let blob _ _ _ = Some "Equality.DaemonInit : " end module RDaemonInit = Demon.Key.Register(DaemonInit) @@ -434,7 +434,7 @@ module DaemonPropaITE = struct | Some b -> simplify d clsem b end | _ -> raise UnwaitedEvent - let blob _ _ = None + let blob _ _ = Some "ITE.propa : " end @@ -468,7 +468,7 @@ module DaemonInitITE = struct Demon.Fast.attach d DaemonPropaITE.key events end | _ -> raise UnwaitedEvent - let blob _ _ = None + let blob _ _ = Some "ITE.init : " end module RDaemonInitITE = Demon.Fast.Register(DaemonInitITE) -- GitLab