{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "13JZKN6WKC"
    }
  ],
  "body": "\n## Summary\n\nProof complexity is the part of [[proof theory|N4EDJNMTEF]] and of computational complexity that studies the size of formal proofs.\nIts main objects are proof systems for [[propositional logic|09K9MWD2QQ]], and the question is how short a proof of a given [[tautology|05006AJ7DZ]] can be.\nCook and Reckhow showed in 1979 that a proof system with short proofs of all tautologies exists if and only if NP equals coNP.\nSo lower bounds on proof size for ever stronger systems are a route toward separating complexity classes.\n\n## Explanations\n\n### L1 human\n\nA tautology is a formula that is true under every truth assignment.\nOne can check this with a truth table, but the table for $n$ variables has $2^n$ rows.\nA proof can be much shorter, but it is not clear that a short proof always exists.\nProof complexity asks how long the shortest proof must be, in a given proof system.\nFor example, in the resolution system, every proof of the pigeonhole principle, \"$n + 1$ pigeons do not fit in $n$ holes one per hole\", has size exponential in $n$.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "kind": "concept",
    "msc": [
      "03F20",
      "68Q17"
    ],
    "name": "Proof complexity",
    "same_as": {
      "wikidata": "Q7249999",
      "wikipedia": "Proof complexity"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Proof_complexity"
      }
    ],
    "tag": "1Q046J0AW2",
    "uses": [
      "N4EDJNMTEF",
      "09K9MWD2QQ",
      "05006AJ7DZ"
    ]
  },
  "kind": "concept",
  "link": "https://math2.tamnd.com/node/1Q046J0AW2/",
  "links": [
    {
      "field": "uses",
      "target": "N4EDJNMTEF"
    },
    {
      "field": "uses",
      "target": "09K9MWD2QQ"
    },
    {
      "field": "uses",
      "target": "05006AJ7DZ"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/1Q046J0AW2.md",
  "msc": [
    "03F20",
    "68Q17"
  ],
  "name": "Proof complexity",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/1Q0/1Q046J0AW2.md",
  "status": null,
  "tag": "1Q046J0AW2",
  "uri": "m2://1Q046J0AW2",
  "url": "https://math2.tamnd.com/wiki/proof-complexity/",
  "writing": {
    "tag": "1Q046J0AW2",
    "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
      }
    ]
  }
}
