{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "FWRJV1ZABC"
    },
    {
      "field": "uses",
      "target": "ZREF8MTYNW"
    }
  ],
  "body": "\n## Summary\n\nKleene's T predicate is a [[primitive recursive|5NVA2JRHPV]] relation $T(e, x, c)$ about computations.\nIt says that $c$ codes a halting computation of the program with index $e$ on input $x$.\nTogether with a primitive recursive function $U$ that reads off the output, it gives Kleene's normal form theorem.\nEvery partial [[computable function|KZSB5E471K]] has the form $x \\mapsto U(\\mu c \\, T(e, x, c))$ for some $e$.\nSo a single unbounded search is enough for any computation.\n\n## Explanations\n\n### L1 human\n\nChecking that a given record of a computation is correct is easy: you go through it step by step.\nThe T predicate is exactly this check, done for every program and every input at once.\nFinding a correct record may be impossible, because the program may never stop.\nSo every computation is \"search for a valid record, then read the answer from it\".\nFor instance, the halting set is the set of $e$ for which some $c$ satisfies $T(e, e, c)$.\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "kind": "concept",
    "msc": [
      "03D20"
    ],
    "name": "Kleene's T predicate",
    "same_as": {
      "wikidata": "Q6420085",
      "wikipedia": "Kleene's T predicate"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Kleene's_T_predicate"
      }
    ],
    "tag": "S9DK13K5PS"
  },
  "kind": "concept",
  "link": "https://math2.tamnd.com/node/S9DK13K5PS/",
  "links": null,
  "markdown": "https://math2.tamnd.com/node/S9DK13K5PS.md",
  "msc": [
    "03D20"
  ],
  "name": "Kleene's T predicate",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/S9D/S9DK13K5PS.md",
  "status": null,
  "tag": "S9DK13K5PS",
  "uri": "m2://S9DK13K5PS",
  "url": "https://math2.tamnd.com/wiki/kleenes-t-predicate/",
  "writing": {
    "tag": "S9DK13K5PS",
    "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
      }
    ]
  }
}
