{
  "tag": "ZBD1SF",
  "kind": "theorem",
  "slug": "ram-turing-equivalence",
  "name": "RAM and Turing machine equivalence",
  "aliases": [
    "RAM simulates Turing machine",
    "Turing machine simulates RAM"
  ],
  "area": "foundations/models-of-computation",
  "level": "core",
  "summary": "Polynomial-time simulations exist in both directions, so polynomial-time classes are robust to the choice of model.",
  "prereqs": [
    "random-access-machine",
    "multitape-turing-machine",
    "logarithmic-cost-model"
  ],
  "sources": [
    {
      "title": "Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974",
      "locator": "Chapter 1, the sections on the cost of RAM programs and on the relation between the Turing machine and the RAM"
    },
    {
      "title": "Stephen A. Cook and Robert A. Reckhow, Time-bounded random access machines, Journal of Computer and System Sciences 7(4), 1973",
      "locator": "pp. 354 to 375"
    },
    {
      "book": "isbn:9780201530827",
      "title": "Christos H. Papadimitriou, Computational Complexity, Addison-Wesley, 1994",
      "locator": "Chapter 2, the section on random access machines"
    },
    {
      "title": "J. Hartmanis and J. Simon, On the power of multiplication in random access machines, 15th Annual Symposium on Switching and Automata Theory, 1974",
      "locator": "the theorem that polynomial time with multiplication and Boolean instructions equals PSPACE"
    },
    {
      "title": "J. C. Shepherdson and H. E. Sturgis, Computability of recursive functions, Journal of the ACM 10(2), 1963",
      "locator": "pp. 217 to 255"
    },
    {
      "title": "C. C. Elgot and A. Robinson, Random-access stored-program machines, an approach to programming languages, Journal of the ACM 11(4), 1964",
      "locator": "pp. 365 to 399"
    },
    {
      "title": "Peter van Emde Boas, Machine models and simulations, in Handbook of Theoretical Computer Science, volume A, 1990",
      "locator": "Chapter 1, the invariance thesis"
    }
  ],
  "see_also": [
    "turing-machine",
    "unit-cost-model",
    "word-ram",
    "polynomial-time",
    "p",
    "church-turing-thesis",
    "multitape-simulation-theorem"
  ],
  "url": "https://algorithm.tamnd.com/ram-turing-equivalence/",
  "path": "nodes/foundations/models-of-computation/ram-turing-equivalence",
  "status": {
    "slug": "ram-turing-equivalence",
    "h": {
      "level": 1,
      "max": 3,
      "label": "H1",
      "name": "sketch",
      "next": [
        "a full proof of correctness"
      ]
    },
    "l": {
      "level": 0,
      "max": 4,
      "label": "L0",
      "name": "no Lean part",
      "next": [
        "name a Lean module in the lean field (07)"
      ]
    },
    "i": {},
    "v": {
      "level": 0,
      "max": 3,
      "label": "V0",
      "name": "none",
      "next": [
        "add viz/scene.ts or a figure (10)"
      ]
    },
    "w": {
      "level": 4,
      "max": 5,
      "label": "W4",
      "name": "complete",
      "next": [
        "a review of the text: no review record reviews/ZBD1SF/text.yaml"
      ]
    }
  },
  "proofs": [
    "ram-by-tm",
    "tm-by-ram"
  ],
  "scene": false
}
