From 46cd6856c9ccdd0dffe1a37f2ea79be5d259f142 Mon Sep 17 00:00:00 2001
From: Christoph Egger <Christoph.Egger@fau.de>
Date: Fri, 8 Apr 2016 02:26:42 +0200
Subject: [PATCH] Preliminarily mark States with no childs Sat in
 propagateSatMu

Should actually happen when the State changes from `Expandable` to
`Open` and trigger the propagateSatMu but for now just do it in
propagateSatMu so we can observe the algorithm working.
---
 src/lib/CoAlgReasoner.ml | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/lib/CoAlgReasoner.ml b/src/lib/CoAlgReasoner.ml
index 5f5653d..cf35e05 100644
--- a/src/lib/CoAlgReasoner.ml
+++ b/src/lib/CoAlgReasoner.ml
@@ -129,13 +129,19 @@ let propagateSatMu () =
        setAddState setSatStates state
     | Expandable
     | Open ->
-       setAddState setStates state;
-       if bsetCompare (stateGetDeferral state) emptySet == 0
+       if stateGetStatus state == Open && List.length (stateGetRules state) == 0
        then begin
+         setAddState setSatStates state;
+         stateSetStatus state Sat
+       end else begin
+         setAddState setStates state;
+         if bsetCompare (stateGetDeferral state) emptySet == 0
+         then begin
            print_endline (stateToString state);
            setAddState setFinishingStates state
          end
-       else ()
+         else ()
+       end
   in
   let coreCollector core =
     match coreGetStatus core with
-- 
GitLab