in projection of residual goals, mark considered propagators as processed

This is to avoid duplicated goals with the new projection mechanism.
This commit is contained in:
Markus Triska
2023-02-22 21:05:31 +01:00
parent 95f6ebc000
commit 2a04d5e799

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]
; [] ; []
). ).