From 0ddda0a864109f69273dc2d056986f9d240a83de Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Thu, 3 Aug 2023 00:26:40 +0200 Subject: [PATCH] FIXED: do not attach constraint if the propagator is already entailed and killed Example: ?- A#=A//A#==>B,A-B=1-1. A = 1, B = 1. This addresses #1941. --- src/lib/clpz.pl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index 38e52657..ed01f079 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -3784,8 +3784,11 @@ var_eq(V, N, #V #= N). % Match variables to created skeleton. skeleton(Vs, Vs-Prop) :- - maplist(prop_init(Prop), Vs), - trigger_once(Prop). + ( propagator_state(Prop, State), State == dead -> + true + ; maplist(prop_init(Prop), Vs), + trigger_once(Prop) + ). /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A drep is a user-accessible and visible domain representation. N, -- 2.54.0