fixed bug: frame axiom only on true fluents

renamed modified by changed (more frequent naming)
This commit is contained in:
Torsten Schaub 2016-08-28 20:53:25 +02:00
parent 0fb79d1268
commit fcdb0b65c2

View File

@ -23,10 +23,10 @@ stateVariable(Variable) :- headVariable(_,Variable).
% Apply effects
caused(Variable, Value, t) :- occurs(Action, t), postcondition(Action, Effect, Variable, Value),
holds(Variable', Value', t - 1) : precondition(Effect, Variable', Value').
modified(Variable, t) :- caused(Variable, Value, t).
changed(Variable, t) :- caused(Variable, Value, t).
holds(Variable, Value, t) :- caused(Variable, Value, t).
holds(Variable, Value, t) :- holds(Variable, Value, t - 1), not modified(Variable, t).
holds(Variable, Value, t) :- holds(Variable, Value, t - 1), not changed(Variable, t), not stateVariable(Variable).
#program check(t). % t=0,1,...