Who invented the situation calculus and when was it first introduced?
John McCarthy introduced the situation calculus in 1963. Ray Reiter produced a major reformulation in 1991 that became the dominant version used today.
Short answers, pulled from the story.
John McCarthy introduced the situation calculus in 1963. Ray Reiter produced a major reformulation in 1991 that became the dominant version used today.
In Reiter's version, a situation is a finite sequence of actions, not a state or a snapshot of the world. McCarthy and Hayes originally defined situations as the complete state of the universe at an instant of time, but Reiter explicitly rejected that interpretation.
The frame problem is the difficulty of specifying what does not change when an action is performed. Effect axioms describe changes, but without additional frame axioms, a logic system cannot deduce that unaffected fluents remain unchanged. The large number of required frame axioms makes it easy to miss one.
Successor state axioms combine positive and negative effect axioms for each fluent into a single formula. The formula states that a fluent is true after an action if the action made it true, or if it was already true and the action did not make it false. This eliminates the need for separate frame axioms for every fluent-action pair.
GOLOG is a logic programming language built directly on the situation calculus. It implements regression implicitly through backward reasoning using SLD resolution, the standard execution mechanism for logic programs.
McCarthy's 1986 version introduced functional fluents, representing properties like object position as function values rather than predicates. It also attempted to use circumscription to replace frame axioms, unlike the original formulation which required explicit frame axioms.