From c82709e30fa68fa842b1a0a148f0a674c99ab0eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Bobot?= <francois.bobot@cea.fr>
Date: Fri, 15 Jul 2022 14:38:59 +0200
Subject: [PATCH] [Quant] Regroup all the InverteedPath execution

---
 src_colibri2/theories/quantifier/quantifier.ml | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/src_colibri2/theories/quantifier/quantifier.ml b/src_colibri2/theories/quantifier/quantifier.ml
index a67cc165f..051f997cd 100644
--- a/src_colibri2/theories/quantifier/quantifier.ml
+++ b/src_colibri2/theories/quantifier/quantifier.ml
@@ -268,15 +268,6 @@ module Find_new_event = struct
     acc
 end
 
-let process_inverted_path d n acc =
-  let acc = List.sort_uniq InvertedPath.compare acc in
-  let acc =
-    List.fold_left
-      (fun acc ip -> InvertedPath.exec d acc Pattern.init n ip)
-      Trigger.M.empty acc
-  in
-  Trigger.M.iter (fun tri substs -> Trigger.instantiate_many d tri substs) acc
-
 module Delayed_find_new_event : sig
   val enqueue : _ Egraph.t -> Node.t -> InvertedPath.t list -> unit
 end = struct
@@ -447,14 +438,15 @@ let add_info_on_ground_terms d thg =
     match Egraph.get_dom d Info.dom repr with
     | None ->
         Egraph.set_dom d Info.dom repr info;
-        process_inverted_path d repr (Find_new_event.one d repr info [])
+        Delayed_find_new_event.enqueue d repr
+          (Find_new_event.one d repr info [])
     | Some info' ->
         Egraph.set_dom d Info.dom repr (Info.merge d ~repr ~other info info');
         (* The type is added (during registration) after the parents found in info' *)
         Find_new_event.one_pt d repr info' g.ty []
         |> Find_new_event.one d repr info
         |> Find_new_event.two d repr info repr info'
-        |> process_inverted_path d repr
+        |> Delayed_find_new_event.enqueue d repr
   in
   let add_pc pos n =
     merge_info n
-- 
GitLab