Imagine a simple action call a(f()) where f() is some fluent. This is implicitly translated into { start(a(f())); end(a(f())); }. Now if some exogenous event changes the value of f() before end(a(f())) becomes possible, end(a(f())) suddenly refers to a different action call which has never been started and therefore never ends :-(
Imagine a simple action call
a(f())wheref()is some fluent. This is implicitly translated into{ start(a(f())); end(a(f())); }. Now if some exogenous event changes the value off()beforeend(a(f()))becomes possible,end(a(f()))suddenly refers to a different action call which has never been started and therefore never ends :-(