]> Repositorios git - scryer-prolog.git/commitdiff
FIXED: propagation for ground tuples
authorMarkus Triska <[email protected]>
Thu, 13 Apr 2023 21:38:55 +0000 (23:38 +0200)
committerMarkus Triska <[email protected]>
Thu, 13 Apr 2023 21:39:45 +0000 (23:39 +0200)
Example:

    ?- tuples_in([[A,A]],[[0,1],[2,0]]).
       false.

See https://github.com/triska/clpz/issues/22.

src/lib/clpz.pl

index 0e42bd9265fa2f4394d4e95cf35a3f1b3d3212cc..b6ad08b315fd93aedf2fd91965d59112ca325c25 100644 (file)
@@ -4369,7 +4369,7 @@ tuple_domain([T|Ts], Relation0) -->
         tuple_domain(Ts, Relation1).
 
 tuple_freeze(Tuple, Relation) :-
-        (   ground(Tuple) -> true
+        (   ground(Tuple) -> memberchk(Tuple, Relation)
         ;   put_attr(R, clpz_relation, Relation),
             make_propagator(rel_tuple(R, Tuple), Prop),
             tuple_freeze_(Tuple, Prop)