「‍」 Lingenic

Action Languages

(⤓.md ≡ ◇.md); γ ≜ [2026-07-17T135416.643, 2026-10-22T054143.488] ∧ |γ| = 3

Action Languages

Origin. Gelfond and Lifschitz introduced action language A (1993). Subsequent: B, C, AL, and others. Formalisms for describing action effects. Connects to situation calculus and event calculus. Foundation for planning and reasoning about change.

Models. Describing action domains. Actions have preconditions and effects. Fluents: properties that change. Domain description: what actions do. Query: what holds after actions?

Formalism.

Action language A: Statements:

  • a causes f if p₁,...,pₙ (effect)
  • f if p₁,...,pₙ (static law — in extensions)

Value propositions:

  • initially f: f holds initially
  • f after a₁;...;aₙ: f holds after action sequence

Language B: Adds static laws (constraints). a causes f if p₁,...,pₙ (dynamic law) f if g₁,...,gₙ (static law/ramification)

Language C: Causal laws: caused f if p₁,...,pₙ (after a) Separates causation from effect.

Action language AL: Action description + logic programming. Nonmonotonic: defaults and exceptions.

Transition systems: Semantics: state transition system. State: truth assignment to fluents. Action: state transformer (partial function).

Example (blocks world): move(X,Y) causes on(X,Y) move(X,Y) causes ¬on(X,Z) if on(X,Z) impossible move(X,Y) if on(Z,X)

Symbols.

SymbolUnicodeNameMeaning
¬U+00ACNegationNegative effect of an action
;U+003BSemicolonConcatenation of actions in a sequence
,U+002CCommaConjunction of conditions in a law
causes—Dynamic lawPerforming the action makes the fluent hold
caused—Causal lawThe fluent is caused, not merely true; primitive of C
if—ConditionGuard on a dynamic or static law
after—AfterEvaluates a fluent following an action sequence
initially—InitiallyHolds in the initial state
impossible—Impossibility lawRules out a transition; states a precondition
a—ActionLabel on a transition
f—FluentComponent of a state
p—Precondition literalCondition under which a law applies

Metatheory. The meaning of an action description is a transition system whose nodes are complete interpretations of the fluents and whose edges are labelled by actions, so prediction, postdiction and planning are all questions about paths in one graph, and a completeness claim is the claim that some translation preserves that graph. Gelfond and Lifschitz (1993) gave such a translation of A into extended logic programs under the answer set semantics. Where the languages part company is indirect effects: B adds static laws and closes the direct effects under them by minimization, whereas C, built on McCain and Turner's (1997) logic of universal causation, requires that everything true in a successor state be caused. Their fixpoint definition — an interpretation I is a causal model of T when I is the unique classical model of the reduct T^I — makes ramification come out right in cases where minimization does not, which is the reason C exists. Complexity separates the levels: plan existence for propositional STRIPS is PSPACE-complete (Bylander 1994), while Turner (2002) showed bounded-length planning with nondeterminism and static laws to be Σ₂ᵖ-complete.

Applies to. Planning systems. Robotics. Agent programming. Diagnosis. Natural language action semantics. Game design. Business process modeling.

Limitations. This is a family rather than a formalism: A, B and C assign different transition systems to the same domain description, and nothing above them adjudicates — they diverge precisely on the ramification cases the static laws were introduced to handle. States are complete interpretations of a fixed finite set of fluents, so partial or uncertain knowledge cannot be represented inside a state at all; that requires an epistemic layer with its own semantics. Actions are instantaneous and, in the base languages, sequential, so duration, overlap and true concurrency demand extensions that alter the transition system rather than being definable over it. There is no continuous change and no numeric fluent in A, B or C; multi-valued and additive fluents arrived only with C+. Preconditions are expressed by impossibility laws, which delete transitions without saying why they fail, so the qualification problem is pushed onto the person writing the description.

© 2026 Lingenic LLC