{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "841C9J1QTC"
    },
    {
      "field": "uses",
      "target": "T6V685TY1Y"
    },
    {
      "field": "defines",
      "target": "DJMXZX0G9G"
    }
  ],
  "body": "\n## Summary\n\nAn oracle machine is a [[Turing machine|758EYCN27B]] with an extra device, the oracle, that answers questions of the form \"is $n$ in the set $O$?\" in a single step.\nThe set $O$ can be any set of natural numbers, even an uncomputable one.\nOracle machines define relative computability: what can be computed if some set is given for free.\nThey are used to define Turing reduction, Turing degrees and the Turing jump.\n\n## Explanations\n\n### L1 human\n\nAn oracle machine is an ordinary computer program with a phone line to an all-knowing helper.\nThe helper knows one fixed set $O$ and answers only yes-or-no questions about it.\nThe program writes a number, calls the helper, and gets the answer immediately.\nFor example, with the set of halting programs as oracle, a program can decide whether any given program halts, which no ordinary program can do.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "kind": "concept",
    "msc": [
      "03D10",
      "03D30"
    ],
    "name": "Oracle machine",
    "same_as": {
      "wikidata": "Q1143357",
      "wikipedia": "Oracle machine"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Oracle_machine"
      }
    ],
    "specializes": [
      "758EYCN27B"
    ],
    "tag": "Z5CCVBME2V"
  },
  "kind": "concept",
  "link": "https://math2.tamnd.com/node/Z5CCVBME2V/",
  "links": [
    {
      "field": "specializes",
      "target": "758EYCN27B"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/Z5CCVBME2V.md",
  "msc": [
    "03D10",
    "03D30"
  ],
  "name": "Oracle machine",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/Z5C/Z5CCVBME2V.md",
  "status": null,
  "tag": "Z5CCVBME2V",
  "uri": "m2://Z5CCVBME2V",
  "url": "https://math2.tamnd.com/wiki/oracle-machine/",
  "writing": {
    "tag": "Z5CCVBME2V",
    "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
      }
    ]
  }
}
