]> Repositorios git - scryer-prolog.git/commitdiff
omit internal attributes in residual goals when using taut/2
authorMarkus Triska <[email protected]>
Tue, 11 Aug 2020 18:48:37 +0000 (20:48 +0200)
committerMarkus Triska <[email protected]>
Tue, 11 Aug 2020 18:49:10 +0000 (20:49 +0200)
Examples:

    ?- taut(X=:=X,1).
       clpb:sat(X=:=X)
    ;  false.

    ?- taut(X=\=X,0).
       clpb:sat(X=:=X)
    ;  false.

src/lib/clpb.pl

index 6b74e272fe915c8ed9684194e167f4772f58198a..ad49f61c05763ef36a0c70d5f2e8e004af02afee 100644 (file)
@@ -1558,9 +1558,10 @@ sats([]) --> [].
 sats([A|As]) --> [clpb:sat(A)], sats(As).
 
 booleans([]) --> [].
-booleans([B|Bs]) --> boolean(B), { del_clpb(B) }, booleans(Bs).
+booleans([B|Bs]) --> boolean(B), booleans(Bs).
 
 boolean(Var) -->
+        { del_clpb(Var) },
         (   { get_attr(Var, clpb_omit_boolean, true) } -> []
         ;   [clpb:sat(Var =:= Var)]
         ).