How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
The Cook--Levin Theorem
1 · Prerequisites
- Construction of the Natural Numbers
- Countability and Uncountability
- Finite Counting, Factorials and Binomial Coefficients
- Formal Languages, Encodings, and Decision Problems
- Linear Recurrences and Rational Generating Functions
- P, NP, coNP, and Polynomial Reductions
- Relations, Functions, and Quotients
- Resource Bounds and Machine Invariance
- The ZFC Axioms and the Basic Set Constructions
- Turing Machines, Configurations, and Computation
2 · Summary
This page localizes SAT and then proves the Cook-Levin theorem by encoding one polynomially bounded nondeterministic computation branch as a bounded tableau. The clause families are separated into cell, start, move, and accept constraints so that correctness and size bounds stay distinct obligations.
After SAT completeness is established, the page adds the standard Tseitin epilogue. Extension variables keep CNF conversion linear, which makes the polynomial reduction from SAT to 3-SAT explicit and also clarifies why naive full distribution is the wrong conversion mechanism.
3 · Logical flowchart
4 · Definitions, theorems and proofs
Boolean formulas, conjunctive normal form, and the satisfiability language SAT
Definition
A Boolean formula is built from variables, the constants , and the connectives in the usual recursive way. A formula is in conjunctive normal form (CNF) when it is a conjunction of clauses, where each clause is a disjunction of literals and a literal is either a variable or the negation of a variable.
The language consists of the encodings of Boolean formulas that admit a truth assignment making them true.
Remarks
-
A -CNF formula is a CNF formula whose clauses have at most three literals.
-
On this page, formulas are encoded by any fixed reasonable binary syntax; completeness statements are invariant under that choice up to polynomial-time translation.
SAT lies in NP
Statement
The satisfiability language belongs to .
Facts & Assumptions
Given: A Boolean formula with variables among .
The language consists exactly of the encodings of satisfiable Boolean formulas, by Boolean formulas, conjunctive normal form, and the satisfiability language SAT.
A language lies in when membership can be verified in polynomial time from a polynomially bounded certificate, by The class NP via polynomial-time verifiers and Polynomial-time verifiers with polynomially bounded certificates.
Proof
Use as certificate a truth assignment for the variables of . Its length is , so it is linearly bounded by the input size of .
A deterministic verifier can evaluate under by traversing the parse tree of once. That takes time polynomial in , and by [L1] it accepts exactly when is satisfiable. Therefore [L2] gives .
A bounded computation tableau for a nondeterministic Turing-machine run
Definition
Fix a nondeterministic one-tape Turing machine and an input word . Suppose , every branch of on halts within steps, and no branch visits a tape cell beyond position . A bounded computation tableau for on is a array whose rows encode one computation branch of on , padded after halting if necessary:
- row is the initial configuration on input ,
- each later row is obtained from the previous row by one legal transition of , or else repeats the previous row unchanged when that previous row is already halting,
- and each row contains exactly one distinguished state-tagged tape symbol, marking the head position and current state.
The tableau is accepting when some row is an accepting configuration.
Remarks
-
The one-tape hypothesis is what makes one state-tagged symbol sufficient to record the unique head position in each row.
-
The bound ensures that row has room for the entire input; the width and height are both polynomial in once is polynomial.
-
The repeated-row convention is the standard way to fit an accepting or rejecting branch of length at most into a fixed tableau.
-
The tableau records one branch, not the whole nondeterministic tree.
For a fixed machine, each tableau cell ranges over a constant-size extended alphabet
Statement
Fix a nondeterministic Turing machine with state set and tape alphabet . Then every cell of a bounded computation tableau for ranges over the constant-size set
Facts & Assumptions
Given: A fixed machine with state set and tape alphabet .
In a bounded computation tableau, each row is a configuration and each row has exactly one state-tagged tape symbol marking the head position, by A bounded computation tableau for a nondeterministic Turing-machine run.
Proof
A tableau cell either lies away from the head, in which case it stores only a tape symbol from , or it is the unique scanned cell of that row, in which case it must record both the scanned tape symbol and the current state, hence an element of . By [L1], these are the only possibilities.
Therefore every cell value lies in . Because the machine is fixed before any input is considered, both and are fixed finite sets, so is a constant independent of the input length.
Local 2x3 tableau windows and legality
Definition
Let be a bounded computation tableau for a fixed machine . Adjoin a
fixed boundary marker # to the left and right of every row. A
local tableau window is any block of the form
cut from two adjacent padded rows and three consecutive padded columns.
Such a window is legal when it is consistent with the local row-to-row rule for bounded tableaux: the boundary markers stay fixed; if the upper row is nonhalting then cells away from the head remain unchanged and the cells in the head's neighborhood change exactly as one allowed transition of prescribes; and if the upper row is already halting then the lower row is identical to it.
Remarks
-
A legal window is a local consistency check; it does not by itself guarantee that the whole tableau is a valid run.
-
On this page, the separate global condition is that the first row is the correct start configuration; once that row is fixed, the local windows govern the rest of the tableau.
-
The padded boundary markers let the same local test handle the left edge, the right edge, and very small tableau widths.
A tableau is legal exactly when the start row is correct and every local window is legal
Statement
A bounded tableau is the computation history of one branch exactly when:
- its first row is the correct start configuration, and
- every local window is legal.
Facts & Assumptions
Given: A bounded tableau for a fixed machine and input .
A bounded computation tableau is legal precisely when each row follows the previous one either by one legal transition or by repeating an already halting configuration, beginning at the start configuration, by A bounded computation tableau for a nondeterministic Turing-machine run.
A local window is legal exactly when the padded adjacent rows agree with either one legal local update of the machine or a repeated halting row, by Local 2x3 tableau windows and legality.
Proof
If is an actual computation history, then its first row is the start configuration. Each pair of adjacent rows is either one legal transition or a repeated halting row, so every padded window is legal by [L2].
Conversely, assume the two bullet conditions in the statement hold. In particular, every local window is legal in the sense of [L2].
Fix adjacent rows and . If row is already halting, [L2] forces row to repeat it exactly. Otherwise row has a unique head neighborhood, and the overlapping legal windows force every cell outside that neighborhood to stay unchanged while the local neighborhood realizes exactly one allowed transition of . So row is either the same halting configuration or the one-step successor of row .
Because the first row is correct and every later row follows the previous one in one of the two ways allowed by step 2.1, the whole tableau is a valid branch computation history in the sense of [L1]. Hence [L1] gives the converse implication.
The exactly-one-symbol constraints have polynomial size
Statement
For a tableau of size for a fixed machine , the Boolean constraints asserting that each cell carries exactly one symbol of have polynomial total size.
Facts & Assumptions
Given: A tableau of side length for a fixed machine .
A tableau cell ranges over the constant-size extended alphabet , by For a fixed machine, each tableau cell ranges over a constant-size extended alphabet.
The overall target is a Boolean satisfiability instance, by Boolean formulas, conjunctive normal form, and the satisfiability language SAT.
Proof
Introduce a variable for each row , column , and symbol , intended to mean that cell carries . By [L1], the number of choices for is a fixed constant, so the total number of such variables is .
For each cell, add one at-least-one clause and one pairwise-exclusion clause for each distinct pair . Because is constant by [L1], each cell contributes only constantly many literals and clauses.
There are cells, and step 2.1 attaches only constant-size data to each one. Therefore the full exactly-one-symbol family has size polynomial in , hence polynomial in the input length once is polynomially bounded.
The start, accept, and transition constraints have polynomial size
Statement
For a fixed machine and a polynomially bounded tableau, the Boolean formulas forcing the correct start row, forcing an accepting state somewhere, and forcing legal row-to-row transitions all have polynomial total size.
Facts & Assumptions
Given: A tableau of side length for a fixed machine on input .
A local window is legal exactly when it matches one allowed local update of the machine, by Local 2x3 tableau windows and legality.
Each tableau cell ranges over a constant-size alphabet for fixed , by For a fixed machine, each tableau cell ranges over a constant-size extended alphabet.
Proof
The start constraint fixes each cell of the first row to its predetermined initial symbol, so it contributes one constant-size literal condition per column and therefore total size. The accept constraint is the disjunction over all cells that one of them carries an accepting-state tag, so it has size.
For each adjacent-row position and each illegal pattern, add a clause forbidding that pattern. By [L1] and [L2], there are window positions and only constantly many patterns to inspect at each position, each producing a constant-size clause.
Combining steps 1.1 and 1.2 shows that the start, accept, and transition families together have polynomial total size.
The Cook-Levin formula is satisfiable if and only if an accepting bounded tableau exists
Statement
Fix a nondeterministic one-tape machine , an input , and a bound such that every branch of on halts within steps and never visits a tape cell beyond position . Let be the standard Cook-Levin formula built from the tableau variables. Then is satisfiable if and only if there exists an accepting bounded computation tableau for on of height and width .
Facts & Assumptions
Given: A nondeterministic one-tape machine , an input , a bound satisfying the hypotheses in the statement, and the Cook-Levin formula .
The cell constraints force each tableau position to carry exactly one symbol, by The exactly-one-symbol constraints have polynomial size.
The start, accept, and transition constraints enforce the initial row, an accepting position, and local transition legality, by The start, accept, and transition constraints have polynomial size.
A tableau is a valid branch computation history exactly when its first row is correct and every local window is legal, by A tableau is legal exactly when the start row is correct and every local window is legal.
Proof
If an accepting bounded tableau exists, assign each variable the value exactly when the tableau places symbol in cell . The tableau then satisfies by construction, while [L2] and [L3] show that it also satisfies , , and . Hence is satisfiable.
Conversely, suppose is satisfiable. By [L1], the satisfying assignment determines one symbol in every tableau cell.
The tableau extracted in step 1.2 satisfies the required start, accept, and local transition conditions by [L2]. Therefore [L3] turns it into a genuine branch computation history for on , with later rows allowed to repeat once a halting configuration has appeared, and the accept part of [L2] makes that history accepting.
Steps 1.1 and 2.1 prove both implication directions, so is satisfiable exactly when an accepting bounded tableau exists.
The Cook-Levin reduction map is computable in polynomial time
Statement
For a fixed nondeterministic polynomial-time machine , the map sending an input to the Cook-Levin formula is computable in polynomial time.
Facts & Assumptions
Given: A fixed machine running in time at most on inputs of length .
The exactly-one-symbol family has polynomial size in the tableau side length, by The exactly-one-symbol constraints have polynomial size.
The start, accept, and transition families also have polynomial size in the tableau side length, by The start, accept, and transition constraints have polynomial size.
A time bound means that every run on length- inputs halts within the stated bound, in the worst-case sense formalized by Worst-case time and space complexity of a machine.
Proof
On an input of length , [L3] gives a tableau side length with . A deterministic transducer can loop over all cells, all alphabet symbols, and all local windows in lexicographic order and print the corresponding clauses of .
By [L1] and [L2], the number of printed variables and clauses is polynomial in , hence polynomial in because . Each loop iteration performs only constant-size bookkeeping for the fixed machine .
Therefore the transducer from step 1.1 halts after polynomially many steps and outputs . So the Cook-Levin map is polynomial-time computable.
SAT is NP-complete
Statement
The satisfiability language is NP-complete.
Facts & Assumptions
Given: A language .
The language lies in , by SAT lies in NP.
The verifier and nondeterministic-machine definitions of agree, by The verifier and nondeterministic definitions of NP agree.
For a fixed nondeterministic polynomial-time machine, the Cook-Levin formula is satisfiable exactly when an accepting bounded tableau exists and is computable in polynomial time, by The Cook-Levin formula is satisfiable if and only if an accepting bounded tableau exists and The Cook-Levin reduction map is computable in polynomial time.
A language is NP-complete exactly when it lies in and every language in polynomial-time many-one reduces to it, by NP-hard and NP-complete languages and Polynomial-time many-one reductions.
Proof
By [L1], is in . To prove NP-completeness via [L4], it remains to prove NP-hardness.
Because , [L2] supplies a nondeterministic polynomial-time machine deciding . For an input , let be the Cook-Levin formula for a polynomial bound on computations of on .
By [L3], the formula is satisfiable exactly when has an accepting bounded tableau on ; with the bounded-tableau convention that later rows may repeat a halting configuration, this happens exactly when . The same citation shows that is computable in polynomial time. Therefore .
Since was arbitrary, step 2.1 proves that every language in reduces to . Together with step 1.1, [L4] gives that is NP-complete.
Tseitin extension variables for subformulas
Definition
Given a Boolean formula , a Tseitin extension variable for a subformula of is a fresh variable intended to represent the truth value of . The Tseitin translation adds a local constraint for every subformula. For an atomic variable or constant it forces directly; for a composite subformula it forces to equal the result of applying the outer connective to the extension variables of the immediate subformulas. It then requires the root variable to be true.
Remarks
-
The new variables name intermediate subformulas instead of expanding them repeatedly.
-
This keeps the transformed formula linear in the size of the original parse tree.
The Tseitin transformation has linear size and preserves satisfiability
Statement
For every Boolean formula , there is a CNF formula such that:
- every clause of has at most three literals,
- has size ,
- and is satisfiable if and only if is satisfiable.
Facts & Assumptions
Given: A Boolean formula .
A Tseitin extension variable is intended to encode the truth value of the subformula , by Tseitin extension variables for subformulas.
The satisfiability language concerns exactly whether a Boolean formula has some satisfying truth assignment, by Boolean formulas, conjunctive normal form, and the satisfiability language SAT.
Proof
For each subformula of , introduce the extension variable from [L1]. If is a literal , add and . If , add , , and . If , add , , and . If , add and . If or , add the unit clause or respectively. Finally add the unit clause . Every clause has at most three literals.
Any satisfying assignment of extends to the new variables by setting each equal to the truth value of under that assignment. Then every local clause from step 1.1 is satisfied, including the negation and constant clauses, and because itself is true. So satisfiability of implies satisfiability of .
Conversely, suppose is satisfiable. The clauses of step 1.1 force each to agree with the Boolean value prescribed by its immediate subformulas, and an induction on subformula complexity shows that every extension variable equals the value of its subformula under the restricted assignment to the original variables. Since the clause is satisfied, the original formula is true.
Each subformula of contributes one fresh variable and only constantly many clauses, so the total size of is linear in . Together with steps 2.1 and 3.1, this proves the statement.
3-SAT is NP-complete
Statement
The language -SAT of satisfiable CNF formulas with exactly three literals per clause is NP-complete.
Facts & Assumptions
Given: An arbitrary Boolean formula .
The language is NP-complete, by SAT is NP-complete.
The Tseitin transformation produces in linear size an equisatisfiable CNF formula whose clauses have at most three literals, by The Tseitin transformation has linear size and preserves satisfiability.
A language is NP-complete exactly when it lies in and every language in polynomial-time many-one reduces to it, by NP-hard and NP-complete languages and Polynomial-time many-one reductions.
Proof
A truth assignment for a -CNF formula can be checked clause by clause in polynomial time, exactly as for SAT. So -SAT lies in .
By [L1], it is enough to reduce to -SAT. Start from and apply [L2] to obtain an equisatisfiable CNF formula whose clauses have size at most three.
Replace every -clause by with a fresh variable , and replace every -clause by with fresh variables . These replacements preserve satisfiability and produce only -clauses.
Steps 1.2 and 2.1 give a polynomial-time many-one reduction from to -SAT, because [L2] is linear-size and the padding in step 2.1 adds only constantly many clauses per short clause. Therefore -SAT is NP-hard. Combined with step 1.1, [L3] yields that -SAT is NP-complete.
5 · Examples, counterexamples and false statements
FALSE: the Cook-Levin reduction enumerates all nondeterministic branches
Statement
The Cook-Levin reduction works by explicitly enumerating every nondeterministic branch of the machine.
Facts & Assumptions
Given: The Cook-Levin tableau encoding.
A bounded computation tableau records one computation branch of the machine, not the whole branch tree, by A bounded computation tableau for a nondeterministic Turing-machine run.
The Cook-Levin formula is satisfiable exactly when at least one accepting tableau exists, by The Cook-Levin formula is satisfiable if and only if an accepting bounded tableau exists.
Refutation
By [L1], one satisfying assignment describes one tableau, hence one branch. There is no requirement that the encoding simultaneously list all other branches.
By [L2], the reduction asks only whether some accepting tableau exists. Existence of one accepting branch is enough, so explicit enumeration of every branch is unnecessary. Therefore the statement is false.
FALSE: distributing an arbitrary formula into CNF always has polynomial size
Statement
Distributing an arbitrary Boolean formula into CNF always increases its size by at most a polynomial factor.
Facts & Assumptions
Given: The formula .
The page's CNF and satisfiability language are the ones from Boolean formulas, conjunctive normal form, and the satisfiability language SAT.
The Tseitin transformation is kept precisely because it preserves satisfiability with only linear blowup, by The Tseitin transformation has linear size and preserves satisfiability.
Refutation
Fully distributing into CNF chooses one literal from each conjunctive pair , so the resulting CNF has one clause for every function . That is distinct clauses.
Since the original formula has size but the distributed CNF has clauses, the size blowup is exponential, not polynomial. Step 1.1 is exactly why [L2] keeps Tseitin variables available. Therefore the statement is false.