# Fluent calculus

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Fluent_calculus
> Markdown URL: https://mediated.wiki/source/Fluent_calculus.md
> Source: https://en.wikipedia.org/wiki/Fluent_calculus
> Source revision: 1343102182
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Formalism for expressing dynamical domains in first-order logic

The **fluent calculus** is a formalism for expressing dynamical domains in [first-order logic](/source/First-order_logic). It is a variant of the [situation calculus](/source/Situation_calculus); the main difference is that situations are considered representations of states. A binary function symbol ∘ {\displaystyle \circ } is used to concatenate the terms that represent facts that hold in a situation. For example, that the box is on the table in the situation s {\displaystyle s} is represented by the formula ∃ t . s = o n ( b o x , t a b l e ) ∘ t {\displaystyle \exists t.s=on(box,table)\circ t} . The [frame problem](/source/Frame_problem) is solved by asserting that the situation after the execution of an action is identical to the one before but for the conditions changed by the action. For example, the action of moving the box from the table to the floor is formalized as:

- S t a t e ( D o ( m o v e ( b o x , t a b l e , f l o o r ) , s ) ) ∘ o n ( b o x , t a b l e ) = S t a t e ( s ) ∘ o n ( b o x , f l o o r ) {\displaystyle State(Do(move(box,table,floor),s))\circ on(box,table)=State(s)\circ on(box,floor)}

This formula states that the state after the move added the term o n ( b o x , f l o o r ) {\displaystyle on(box,floor)} and removed the term o n ( b o x , t a b l e ) {\displaystyle on(box,table)} . Axioms specifying that ∘ {\displaystyle \circ } is [commutative](/source/Commutative) and non-[idempotent](/source/Idempotent) are necessary for such axioms to work.

## See also

- [Fluent (artificial intelligence)](/source/Fluent_(artificial_intelligence))

- [Frame problem](/source/Frame_problem)

- [Situation calculus](/source/Situation_calculus)

- [Event calculus](/source/Event_calculus)

## References

- M. Thielscher (1998). [Introduction to the fluent calculus](http://www.ep.liu.se/ej/etai/1998/006). *[Electronic Transactions on Artificial Intelligence](/source/Electronic_Transactions_on_Artificial_Intelligence)*, 2(3–4):179–192.

- M. Thielscher (2005). [Reasoning Robots - The Art and Science of Programming Robotic Agents](https://books.google.com/books?id=JdNYtz6YNd0C&q=%22Fluent+calculus%22&pg=PR9). *Volume 33 of Applied Logic Series.* Springer, Dordrecht.

This logic-related article is a stub. You can help Wikipedia by adding missing information.

- [v](https://en.wikipedia.org/wiki/Template:Logic-stub)
- [t](/source/Template_talk%3ALogic-stub)
- [e](https://en.wikipedia.org/wiki/Special:EditPage/Template:Logic-stub)

---
Adapted from the Wikipedia article [Fluent calculus](https://en.wikipedia.org/wiki/Fluent_calculus) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Fluent_calculus?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
