{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Summary\n\nThe **fluent calculus** is a formalism for expressing dynamical domains in [[first-order logic|086QKPF0A6]]. It is a variant of the situation calculus. A binary function symbol $\\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$ is represented by the formula $\\exists t . s = on(box,table) \\circ t$. The 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:\n",
  "commit": "4a3290d299c8b2cd6493fce2296920ba7f82d942",
  "front": {
    "inventory": [
      "12GTXW0QVW"
    ],
    "kind": "concept",
    "name": "Fluent calculus",
    "same_as": {
      "wikidata": "Q5462656",
      "wikipedia": "Fluent calculus"
    },
    "sources": [
      {
        "locator": "Fluent calculus",
        "mention": "wikipedia://en/2961091",
        "note": "adopted",
        "sections": [
          "Summary"
        ],
        "wikipedia": "en:2961091@r1370052612"
      }
    ],
    "tag": "SBGXED586X"
  },
  "kind": "concept",
  "link": "https://math2.tamnd.com/node/SBGXED586X/",
  "links": null,
  "markdown": "https://math2.tamnd.com/node/SBGXED586X.md",
  "msc": null,
  "name": "Fluent calculus",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/SBG/SBGXED586X.md",
  "status": null,
  "tag": "SBGXED586X",
  "uri": "m2://SBGXED586X",
  "url": "https://math2.tamnd.com/wiki/fluent-calculus/",
  "writing": {
    "tag": "SBGXED586X",
    "kind": "concept",
    "level": "W1",
    "next": [
      {
        "what": "edge defines in",
        "note": "at least one definition",
        "have": 0,
        "want": 1
      },
      {
        "what": "edge instance_of in",
        "note": "at least two examples",
        "have": 0,
        "want": 2
      },
      {
        "what": "edge not_instance_of in",
        "note": "at least one non-example",
        "have": 0,
        "want": 1
      },
      {
        "what": "edge specializes both",
        "note": "the more general notions and the special cases",
        "have": 0,
        "want": 1
      }
    ]
  }
}
