From 27af5a8d38c1055ed9b41ef676dc407a8ad092e4 Mon Sep 17 00:00:00 2001
From: Arthur Correnson <arthur.correnson@gmail.com>
Date: Wed, 2 Jun 2021 10:37:36 +0200
Subject: [PATCH] Dom_interval backward cmp ?

---
 src_colibri2/theories/FP/dom_interval.ml | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src_colibri2/theories/FP/dom_interval.ml b/src_colibri2/theories/FP/dom_interval.ml
index d0bb75203..88a4c5131 100644
--- a/src_colibri2/theories/FP/dom_interval.ml
+++ b/src_colibri2/theories/FP/dom_interval.ml
@@ -214,17 +214,15 @@ let converter d (f:Ground.t) =
   let r = Ground.node f in
   let reg n = Egraph.register d n in
   let open Monad in
-  let cmp test _cmp a b =
+  let cmp test cmp a b =
     reg a; reg b;
     let wakeup =
       setb r (let+ va = get a and+ vb = get b in
-              test (D.is_comparable va vb))
-      (*&&
-        set b  (let+ va = get a and+ vr = getb r in
-        backward (if vr then (com_cmp cmp) else (com_cmp (neg_cmp cmp))) va) &&
-        set a  (let+ vb = get b and+ vr = getb r in
-        backward (if vr then cmp else (neg_cmp cmp)) vb)
-      *)
+              test (D.is_comparable va vb)) &&
+      set b  (let+ va = get a and+ vr = getb r in
+              backward (if vr then (com_cmp cmp) else (com_cmp (neg_cmp cmp))) va) &&
+      set a  (let+ vb = get b and+ vr = getb r in
+              backward (if vr then cmp else (neg_cmp cmp)) vb)
     in
     List.iter (fun n -> wait.for_dom d dom n wakeup) [a;b];
     wait.for_value d Boolean.BoolValue.key r wakeup
-- 
GitLab