{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "3CJ8XA1VAB"
    }
  ],
  "body": "\n## Summary\n\nThe internal language of a category with enough structure is a formal language read inside the category.\nIts types are the objects of the category, and its terms are interpreted as morphisms.\nFor a [[topos|6837RS7N82]] it is the Mitchell–Bénabou language, a higher-order [[intuitionistic logic|Q11N8X99FK]]; for a [[Cartesian closed category|BFBNQ36QS8]] it is the simply typed [[lambda calculus|BD756KR8FM]].\nIt lets one reason about objects of the category as if they were sets, with elements, functions and subsets.\nThe reasoning then stays valid in the category.\nIt is one of the main tools of [[categorical logic|NES4B9CWW4]].\n\n## Explanations\n\n### L1 human\n\nWorking with diagrams of arrows can be heavy.\nThe internal language lets one write ordinary-looking statements such as \"for every $x$ in $A$ there is $y$ in $B$ with $f(y) = x$\" and read them inside a category.\nEach such statement is translated into a statement about arrows, such as \"$f$ is an epimorphism\".\nFor example, in the topos of sheaves on a space, a statement holds when it holds locally, and the law of excluded middle may fail.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "03G30",
      "18B25",
      "03B38"
    ],
    "name": "Internal language",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Categorical_logic"
      }
    ],
    "tag": "WH48X83YPJ"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/WH48X83YPJ/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/WH48X83YPJ.md",
  "msc": [
    "03G30",
    "18B25",
    "03B38"
  ],
  "name": "Internal language",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/WH4/WH48X83YPJ.md",
  "status": null,
  "tag": "WH48X83YPJ",
  "uri": "m2://WH48X83YPJ",
  "url": "https://tamnd.github.io/math2/wiki/internal-language/",
  "writing": {
    "tag": "WH48X83YPJ",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
