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).
?- sat(1#X#a#b).
sat(X=:=a#b).
clpb:sat(X=:=a#b).
```
The pending residual goals constrain remaining variables to Boolean
@@ -348,7 +348,7 @@ does compute =|XOR|= as intended:
```
?- xor(x, y, Z).
sat(Z=:=x#y).
clpb:sat(Z=:=x#y).
```
## Acknowledgments

View File

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