{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nFix a [[Gödel numbering|MFJXPAF0R0]] of the programs for [[partial recursive functions|HBK5QHC1GC]] of one argument.\nFix also a coding of finite sequences of natural numbers by natural numbers.\nLet $\\varphi_e$ denote the partial function computed by the program with number $e$.\n*Kleene's T predicate* is the relation $T \\subseteq \\N^3$ defined as follows.\nThe triple $(e, x, c)$ is in $T$ if and only if the following holds.\nThe number $e$ is the number of a program, and $c$ codes a complete halting computation of that program on input $x$.\nFor each $k \\ge 1$ there is a similar relation $T_k(e, x_1, \\ldots, x_k, c)$ for programs with $k$ arguments.\n\n## Remarks\n\nKleene's normal form theorem says two things.\nFirst, $T$ is [[primitive recursive|5NVA2JRHPV]].\nSecond, there is a primitive recursive function $U$ such that $\\varphi_e(x) \\simeq U(\\mu c \\, T(e, x, c))$ for all $e$ and $x$.\nHere $\\simeq$ means that both sides are undefined, or both are defined and equal.\n\nExample: if $e$ is a program for the successor function, then for each $x$ there is a $c$ with $T(e, x, c)$, and $U(c) = x + 1$ for the least such $c$.\n\nNon-example: if $e$ is a program that never halts, then $T(e, x, c)$ fails for all $x$ and $c$, since no $c$ codes a halting computation.\n\nThe halting set $\\set{e : \\varphi_e(e) \\text{ is defined}}$ equals $\\set{e : \\exists c \\, T(e, e, c)}$, so it is $\\Sigma^0_1$ in the [[arithmetical hierarchy|7CVJCQKY41]].\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "defines": "S9DK13K5PS",
    "kind": "definition",
    "msc": [
      "03D20"
    ],
    "name": "Kleene's T predicate",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Kleene's_T_predicate"
      }
    ],
    "tag": "FWRJV1ZABC",
    "uses": [
      "MFJXPAF0R0",
      "HBK5QHC1GC",
      "5NVA2JRHPV"
    ]
  },
  "kind": "definition",
  "link": "https://math2.tamnd.com/node/FWRJV1ZABC/",
  "links": [
    {
      "field": "defines",
      "target": "S9DK13K5PS"
    },
    {
      "field": "uses",
      "target": "MFJXPAF0R0"
    },
    {
      "field": "uses",
      "target": "HBK5QHC1GC"
    },
    {
      "field": "uses",
      "target": "5NVA2JRHPV"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/FWRJV1ZABC.md",
  "msc": [
    "03D20"
  ],
  "name": "Kleene's T predicate",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/FWR/FWRJV1ZABC.md",
  "status": null,
  "tag": "FWRJV1ZABC",
  "uri": "m2://FWRJV1ZABC",
  "url": "https://math2.tamnd.com/wiki/kleenes-t-predicate-definition/",
  "writing": {
    "tag": "FWRJV1ZABC",
    "kind": "definition",
    "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
      }
    ]
  }
}
