Merge pull request #1741 from triska/clpz_residuals

in projection of residual goals, mark considered propagators as processed
This commit is contained in:
Mark Thom
2023-02-23 01:51:22 +01:00
committed by GitHub
2 changed files with 4 additions and 4 deletions

View File

@@ -211,7 +211,7 @@ Here is an example session with a few queries and their answers:
T = 1, clpb:sat(X=:=X*Y), clpb:sat(Y=:=Y*Z). T = 1, clpb:sat(X=:=X*Y), clpb:sat(Y=:=Y*Z).
?- sat(1#X#a#b). ?- sat(1#X#a#b).
sat(X=:=a#b). clpb:sat(X=:=a#b).
``` ```
The pending residual goals constrain remaining variables to Boolean The pending residual goals constrain remaining variables to Boolean
@@ -348,7 +348,7 @@ does compute =|XOR|= as intended:
``` ```
?- xor(x, y, Z). ?- xor(x, y, Z).
sat(Z=:=x#y). clpb:sat(Z=:=x#y).
``` ```
## Acknowledgments ## Acknowledgments

View File

@@ -7711,7 +7711,7 @@ attributes_goals([]) --> [].
attributes_goals([propagator(P, State)|As]) --> attributes_goals([propagator(P, State)|As]) -->
( { ground(State) } -> [] ( { ground(State) } -> []
; { phrase(attribute_goal_(P), Gs) } -> ; { phrase(attribute_goal_(P), Gs) } ->
{ % del_attr(State, clpz_aux), State = processed, { del_attr(State, clpz_aux), State = processed,
( monotonic -> ( monotonic ->
maplist(unwrap_with(bare_integer), Gs, Gs1) maplist(unwrap_with(bare_integer), Gs, Gs1)
; maplist(unwrap_with(=), Gs, Gs1) ; maplist(unwrap_with(=), Gs, Gs1)
@@ -7822,7 +7822,7 @@ conjunction(A, B, G, D) -->
original_goal(original_goal(State, Goal)) --> original_goal(original_goal(State, Goal)) -->
( { var(State) } -> ( { var(State) } ->
% { State = processed }, { State = processed },
[Goal] [Goal]
; [] ; []
). ).