Situation Calculus
Definition
Situation calculus is a sorted first-order language for representing actions, situations, and change. It uses a distinguished initial situation , a transition constructor for the successor situation after action , an executability predicate , and fluents whose last argument is a situation term.
Why It Matters
It provides a rigorous language for executability, preconditions, effects, and planning in dynamic domains, which makes it a valuable bridge from symbolic action theory to modern agent design. The formalism is expressive enough to support theorem-proving and automata-theoretic analyses of which action sequences are legal.
Formalism / Key Objects
- Canonical objects: situations are action histories built from and ; fluents are predicates or functions with a final situation argument.
- Basic action theory: a finite BAT is typically written as , combining foundational axioms, unique-names assumptions, precondition axioms, successor-state axioms, and an initial database.
- Successor-state axiom template: for a functional fluent, .
- Executability recurrence: legal histories are characterized by and ; see Executability.
- Situation-calculus causal models can map a basic action theory plus a concrete action history into structural equations over fluent values, then evaluate counterfactual changes to the history; see Situation Calculus Causal Models.
Connections
- Central to Logic and Action Formalisms.
- Links to automata-theoretic views of executability and language acceptance.
- Can inform more structured interfaces between symbolic reasoning and learning systems.
- Executability is the formal annex for the acceptance view of BATs and the correspondence to deterministic finite-state automata.
- Actual Causality connects situation-calculus action histories to counterfactual cause queries.
Common Confusions
- Situation calculus is a language and modeling framework, not a complete planning algorithm.
- Executability analysis is only one slice of what situation calculus can express.
- The automata correspondence in Cerexhe2011 - Executability in the Situation Calculus applies to specific action-theory subclasses, not to every unrestricted situation-calculus theory.