{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $\\Gamma \\vdash \\Delta$ be a sequent of first-order logic.\nIf $\\Gamma \\vdash \\Delta$ has a derivation in the [[sequent calculus|PZX9J3VEMT]] LK, then it has a derivation in LK that does not use the cut rule.\nThe same holds for the intuitionistic calculus LJ.\n\n## Remarks\n\nGentzen proved the theorem in 1934, and called it the *Hauptsatz*.\nThe proof is a double induction.\nThe outer induction is on the complexity of the cut formula, and the inner one is on the heights of the derivations above the cut.\nEach step pushes a topmost cut upward or replaces it by cuts on smaller formulas.\nThe cost is large: removing cuts can make a derivation super-exponentially longer.\n\nIn a cut-free derivation, every formula is a subformula of a formula in the final sequent, up to the substitution of terms for variables.\nThis *subformula property* gives quick consequences.\nFor example, the empty sequent $\\vdash$ has no cut-free derivation, since no rule other than cut can produce it.\nSo LK is consistent.\n\n## Explanations\n\n### L1 human\n\nThe cut rule lets a proof use a lemma: prove $A$, then use $A$ to prove the goal.\nThe theorem says that lemmas are never needed in pure logic.\nEvery proof can be rewritten so that it only builds up the formulas of the conclusion, step by step.\nThe price is that the new proof can be enormously longer.\n\n### L2 human\n\nCut elimination is the central result of structural [[proof theory|N4EDJNMTEF]].\nIt gives the subformula property, the consistency of pure logic, and Craig interpolation and Herbrand's theorem by short arguments.\nFor arithmetic, cuts cannot be fully removed in the presence of induction.\nGentzen's consistency proof for Peano arithmetic instead removes cuts partly, with a transfinite induction up to the ordinal $\\varepsilon_0$ to show that the process ends.\nThrough the Curry–Howard correspondence, the removal of cuts is related to the evaluation of programs.\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "about": [
      "W72CA3R9MP"
    ],
    "kind": "statement",
    "msc": [
      "03F05"
    ],
    "name": "Cut-elimination theorem",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q376166",
      "wikipedia": "Cut-elimination theorem"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Cut-elimination_theorem"
      }
    ],
    "tag": "AYRZ98Y0NW",
    "uses": [
      "PZX9J3VEMT",
      "W72CA3R9MP",
      "N4EDJNMTEF"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/AYRZ98Y0NW/",
  "links": [
    {
      "field": "about",
      "target": "W72CA3R9MP"
    },
    {
      "field": "uses",
      "target": "PZX9J3VEMT"
    },
    {
      "field": "uses",
      "target": "W72CA3R9MP"
    },
    {
      "field": "uses",
      "target": "N4EDJNMTEF"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/AYRZ98Y0NW.md",
  "msc": [
    "03F05"
  ],
  "name": "Cut-elimination theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/AYR/AYRZ98Y0NW.md",
  "status": null,
  "tag": "AYRZ98Y0NW",
  "uri": "m2://AYRZ98Y0NW",
  "url": "https://math2.tamnd.com/wiki/cut-elimination-theorem/",
  "writing": {
    "tag": "AYRZ98Y0NW",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
