{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $A$ and $B$ be subsets of $\\N$.\nA *Turing reduction* from $A$ to $B$ is an [[oracle machine|Z5CCVBME2V]] $M$ such that $M$ with oracle $B$ halts on every input $x \\in \\N$.\nMoreover, the output is $1$ if $x \\in A$ and $0$ if $x \\notin A$.\nThe set $A$ is *Turing reducible* to $B$, written $A \\le_T B$, if such an $M$ exists.\nThe sets $A$ and $B$ are *Turing equivalent*, written $A \\equiv_T B$, if $A \\le_T B$ and $B \\le_T A$.\n\n## Remarks\n\nExample: for every $B \\subseteq \\N$, the complement $\\N \\setminus B$ satisfies $\\N \\setminus B \\le_T B$.\nThe machine asks the oracle whether $x \\in B$ and outputs the opposite answer.\n\nNon-example: the [[halting problem|Z7TN2B35B0]] $K$ satisfies $K \\not\\le_T \\emptyset$.\nAn oracle machine with the empty oracle computes only what an ordinary Turing machine computes, and $K$ is not a [[computable set|PPGD5KW8JC]].\n\nThe relation $\\le_T$ is reflexive and transitive.\nA set $A$ satisfies $A \\le_T \\emptyset$ exactly when $A$ is computable.\nEvery [[many-one reduction|JTAH37JTHD]] gives a Turing reduction.\nThe converse fails: $\\N \\setminus K \\le_T K$, but $\\N \\setminus K \\not\\le_m K$, since $K$ is computably enumerable and $\\N \\setminus K$ is not.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "defines": "PA4PYQ1PZ0",
    "kind": "definition",
    "msc": [
      "03D30"
    ],
    "name": "Turing reduction",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Turing_reduction"
      }
    ],
    "tag": "T6V685TY1Y",
    "uses": [
      "Z5CCVBME2V",
      "PPGD5KW8JC"
    ]
  },
  "kind": "definition",
  "link": "https://math2.tamnd.com/node/T6V685TY1Y/",
  "links": [
    {
      "field": "defines",
      "target": "PA4PYQ1PZ0"
    },
    {
      "field": "uses",
      "target": "Z5CCVBME2V"
    },
    {
      "field": "uses",
      "target": "PPGD5KW8JC"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/T6V685TY1Y.md",
  "msc": [
    "03D30"
  ],
  "name": "Turing reduction",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/T6V/T6V685TY1Y.md",
  "status": null,
  "tag": "T6V685TY1Y",
  "uri": "m2://T6V685TY1Y",
  "url": "https://math2.tamnd.com/wiki/turing-reduction-definition/",
  "writing": {
    "tag": "T6V685TY1Y",
    "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
      }
    ]
  }
}
