Related answer here, which says such mutability is not possible.
In ASP truth values do not change over time, either atoms are
true
orfalse
for a specific answer set, they can not be overwritten.
So here's the solution I went with, using a #max
directive:
roomCost(0).
finalroomCost(W) :- roomCost(0), #max {X, 1 : roomCost(X)} = W.