]> Repositorios git - scryer-prolog.git/commitdiff
remove more attributes so that they do not appear in residual goals
authorMarkus Triska <[email protected]>
Fri, 8 Sep 2023 21:19:10 +0000 (23:19 +0200)
committerMarkus Triska <[email protected]>
Sat, 9 Sep 2023 05:46:01 +0000 (07:46 +0200)
src/lib/clpb.pl

index ec31b298bccd9e45e1bc8cf837d2bd5ba14d6537..213d684a246f0b391a966082857cebf58a50d7e7 100644 (file)
@@ -1729,7 +1729,8 @@ attribute_goals(Var) -->
 
 del_clpb(Var) :-
         del_attr(Var, clpb),
-        del_attr(Var, clpb_hash).
+        del_attr(Var, clpb_hash),
+        del_attr(Var, clpb_atom).
 
 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    To make residual projection work with recorded constraints, the
@@ -1883,7 +1884,8 @@ booleans([B|Bs]) --> boolean(B), booleans(Bs).
 
 boolean(Var) -->
         { del_clpb(Var) },
-        (   { get_attr(Var, clpb_omit_boolean, true) } -> []
+        (   { get_attr(Var, clpb_omit_boolean, true) } ->
+            { put_atts(Var, -clpb_omit_boolean(_)) }
         ;   [clpb:sat(Var =:= Var)]
         ).