The event calculus is a
logic
Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from premises ...
al language for representing and reasoning about events and their effects first presented by
Robert Kowalski
Robert Anthony Kowalski (born 15 May 1941) is an American-British logician and computer scientist, whose research is concerned with developing both human-oriented models of computing and computational models of human thinking. He has spent mo ...
and
Marek Sergot in 1986. It was extended by
Murray Shanahan and
Rob Miller in the 1990s. Similar to other languages for reasoning about change, the event calculus represents the effects of
action
Action may refer to:
* Action (narrative), a literary mode
* Action fiction, a type of genre fiction
* Action game, a genre of video game
Film
* Action film, a genre of film
* ''Action'' (1921 film), a film by John Ford
* ''Action'' (1980 fil ...
s on
fluents. However,
event
Event may refer to:
Gatherings of people
* Ceremony, an event of ritual significance, performed on a special occasion
* Convention (meeting), a gathering of individuals engaged in some common interest
* Event management, the organization of e ...
s can also be external to the system. In the event calculus, one can specify the value of fluents at some given time points, the events that take place at given time points, and their effects.
Fluents and events
In the event calculus, fluents are
reified. This means that they are not formalized by means of
predicate
Predicate or predication may refer to:
* Predicate (grammar), in linguistics
* Predication (philosophy)
* several closely related uses in mathematics and formal logic:
**Predicate (mathematical logic)
**Propositional function
**Finitary relation, o ...
s but by means of
function
Function or functionality may refer to:
Computing
* Function key, a type of key on computer keyboards
* Function model, a structured representation of processes in a system
* Function object or functor or functionoid, a concept of object-oriente ...
s. A separate predicate is used to tell which fluents hold 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.
Events are also represented as terms. The effects of events are given using the predicates and . In particular,
means that,
if the event represented by the term is executed at time ,
then the fluent will be true after .
The predicate has a similar meaning, with the only difference
being that will be false after .
Domain-independent axioms
Like other languages for representing actions, the event calculus formalizes the correct evolution of the fluent via formulae telling the value of each fluent after an arbitrary action has been performed. The event calculus solves the
frame problem
In artificial intelligence, the frame problem describes an issue with using first-order logic (FOL) to express facts about a robot in the world. Representing the state of a robot with traditional FOL requires the use of many axioms that simply impl ...
in a way that is similar to the
successor state axioms of the
situation calculus The situation calculus is a logic formalism designed for representing and reasoning about dynamical domains. It was first introduced by John McCarthy in 1963. The main version of the situational calculus that is presented in this article is based o ...
: 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.
: