Suppose in a state, state1, I have a list of constraints in the constraint store:
state1 = [p(a,1), p(b,0), p(a,0), p(b,1), p(b,0)]
Now I have a constraint c(b,1) which states that all p(b,0) should be replaced by p(b,1). Thus we should obtain a new state state2 such that:
state2 = [p(a,1), p(b,1), p(a,0), p(b,1), p(b,1)]
How can this be done for any constraint of the form c(X, Y), and any list of constraints of the form p(X, Y)?
This can probably be done with just 2 or 3 lines in CHR, but I do not know how to do this. Thanks in advance.
