In the event calculus, fluents are reified. This means that statements are not formalized as Predicate s but as Function s. A separate predicate is used to tell which fluents holds at a given time point. For example, means that the box is on the table at time ; in this formula, is a predicate while is a function.
Actions are also represented as terms. The effects of actions are given using the predicates and . In particular, means that the action represented by the term has been executed at time , and that resulted in making the fluent true. The predicate has a similar meaning, with the only difference is that is made false and not true.
Like other languages for representing actions, the event calculus formalizes the correct evolution of the fluent via formulae telling the value of the each fluent after an arbitrary action has been performed. The event calculus solves the Frame Problem in a way that is similar to the Successor State Axiom s of the Situation Calculus : a fluent is true at time if and only if it has been made true in the past and has not been made false in the meantime.
:
This formula means that the fluent represented by the term is true at time if:
# an action has taken place: ;
# this took place in the past: |