「‍」 Lingenic

Fluent Calculus

(⤓.md ◇.md); γ ≜ [2026-07-17T120407.600, 2026-07-17T135416.643] ∧ |γ| = 3

Fluent Calculus

Origin. Thielscher developed Fluent Calculus (1999). Evolution of Situation Calculus. States as explicit objects containing fluents. Addresses frame problem via state update axioms. Foundation for FLUX agent programming system.

Models. States as first-class citizens. Situation Calculus: fluents hold in situations. Fluent Calculus: states contain fluent collections. State update: add/remove fluents explicitly. Avoids frame axioms by manipulating state terms.

Formalism.

State terms: States built from fluents using ∘ (composition) and ∅ (empty). state = ∅ | f | state ∘ state

Example: On(a,b) ∘ On(b,c) ∘ OnTable(c)

Holds predicate: Holds(f, s): fluent f is in state s. Defined equationally via state structure.

State update axioms: State(Do(a, s)) = s - Effects⁻(a) + Effects⁺(a) Explicitly computes new state from old.

Example — blocks world: State(Do(Move(x,y,z), s)) = s - On(x,y) + On(x,z) Moving x from y to z: remove On(x,y), add On(x,z).

Foundational axioms:

  • ∅ ∘ s = s
  • s₁ ∘ s₂ = s₂ ∘ s₁
  • (s₁ ∘ s₂) ∘ s₃ = s₁ ∘ (s₂ ∘ s₃)
  • Holds(f, s₁ ∘ s₂) ↔ Holds(f, s₁) ∨ Holds(f, s₂)

Regression: Reason backwards from goal to initial state. Efficient for planning.

Symbols.

SymbolUnicodeNameMeaning
U+2218CompositionState merge
U+2205EmptyEmpty state
HoldsContainsFluent in state
DoActionState transition
+AddInsert fluent
-RemoveDelete fluent
StateState termCurrent state

Metatheory. Equational theory decidable. Sound and complete for state reasoning. More efficient than situation calculus for some problems. FLUX: logic programming implementation. Connects to action languages.

Applies to. Agent programming. Robotics. Planning. Game AI. Cognitive architectures. Knowledge representation.

Limitations. State terms can grow large. Quantification over states complex. Less known than Situation Calculus. Concurrency needs extensions. Continuous change not native.

© 2026 Lingenic LLC