Back to lab

Introduction

I recently read the introductory lecture to COMS E6998 Proof Complexity and Applications (Spring’25) and thought I’d share this beautifully tantilizing result.

Proof complexity studies the resources required to prove logical statements in different proof systems. Its central questions resemble those of ordinary computational complexity:

The result I want to explain here connects the first of these questions directly to NP\mathrm{NP} versus coNP\mathrm{coNP}:

There exists a polynomially bounded propositional proof system    NP=coNP.\text{There exists a polynomially bounded propositional proof system} \iff \mathrm{NP}=\mathrm{coNP}.

Equivalently, proving that no polynomially bounded proof system exists would separate NP\mathrm{NP} from coNP\mathrm{coNP}, and therefore also prove

PNP. \mathrm P\ne\mathrm{NP}.

See this lab page for information on P vs. NP.

The remarkable part is that, once the definitions are in place, the proof is almost immediate.

Boolean formulas and tautologies

We will work with propositional formulas built from Boolean variables and the usual connectives

¬,,,.\neg,\qquad \land,\qquad \lor,\qquad \rightarrow.

A truth assignment assigns each variable either 00 or 11. A formula is satisfiable if it evaluates to true under at least one assignment, and it is a tautology if it evaluates to true under every assignment.

We write

TAUT={x{0,1}x encodes a propositional tautology}.\mathrm{TAUT} = \{ x\in\{0,1\}^* \mid x \ \text{encodes a propositional tautology} \}.

The use of binary strings here is not especially profound. We simply choose some reasonable way to encode formulas as finite strings so that they can be given as input to an algorithm.

A formula φ\varphi is a tautology precisely when its negation ¬φ\neg\varphi is unsatisfiable. Consequently, proving tautologies and refuting unsatisfiable formulas are two versions of the same task.

A very quick reminder about NP and coNP

A language LL belongs to NP\mathrm{NP} when membership in LL has efficiently verifiable certificates. Formally, there must be a polynomial-time algorithm VV and a polynomial qq such that

xL    p{0,1}q(x) such that V(x,p)=1.x\in L \iff \exists p\in\{0,1\}^{\leq q(|x|)} \text{ such that } V(x,p)=1.

The string pp is the certificate. It is not the verification algorithm; it is the object given to the verification algorithm.

For example, a satisfying assignment is a short certificate that a Boolean formula is satisfiable. Given the assignment, we can simply evaluate the formula.

The class coNP\mathrm{coNP} consists of the complements of languages in NP\mathrm{NP}:

LcoNP    LNP.L\in\mathrm{coNP} \iff \overline L\in\mathrm{NP}.

Since SAT\mathrm{SAT} is NP\mathrm{NP}-complete, its complement UNSAT\mathrm{UNSAT} is coNP\mathrm{coNP}-complete. Equivalently, TAUT\mathrm{TAUT} is coNP\mathrm{coNP}-complete.

Informally:

The question NP=coNP\mathrm{NP}=\mathrm{coNP} therefore asks, among other things, whether every tautology has some polynomial-size certificate of being a tautology.

This is where proof complexity enters.

Propositional proof systems

Ordinarily, a proof system is described by axioms and inference rules. For complexity theory, Cook and Reckhow gave a wonderfully general definition that forgets the internal syntax and remembers only what matters computationally: proofs must be efficiently checkable.

A propositional proof system is a polynomial-time algorithm

V:{0,1}×{0,1}{0,1}V:\{0,1\}^*\times\{0,1\}^*\longrightarrow\{0,1\}

such that, for every encoded formula xx,

xTAUT    p{0,1} such that V(x,p)=1.x\in\mathrm{TAUT} \iff \exists p\in\{0,1\}^* \text{ such that } V(x,p)=1.

Here:

The two directions of the equivalence encode the familiar logical requirements.

Soundness

If the verifier accepts a proof, then the formula really is a tautology:

V(x,p)=1    xTAUT.V(x,p)=1 \implies x\in\mathrm{TAUT}.

A sound proof system never proves a false statement.

Completeness

Every tautology has some proof that the verifier accepts:

xTAUT    p  V(x,p)=1.x\in\mathrm{TAUT} \implies \exists p\;V(x,p)=1.

A complete proof system can prove every statement it is supposed to prove.

Thus soundness and completeness together say

xTAUT    p  V(x,p)=1.x\in\mathrm{TAUT} \iff \exists p\;V(x,p)=1.

Resolution, Frege systems and many algebraic proof systems can all be encoded in this form.

Efficient verification does not mean short proofs

The verifier VV must run in time polynomial in the lengths of both its inputs:

timeV(x,p)poly(x+p).\operatorname{time}_V(x,p) \leq \operatorname{poly}(|x|+|p|).

This does not imply that verification takes polynomial time in x|x| alone. The proof pp might itself be exponentially long.

For example, there is a trivial truth-table proof system. To prove that a formula in nn variables is a tautology, the proof can contain its entire truth table. The verifier checks every row and confirms that the formula always evaluates to true.

This proof is efficiently checkable relative to its own length, but it may have 2n 2^n rows. The system is sound and complete, but its proofs need not be short.

This leads to the central definition.

Polynomially bounded proof systems

A propositional proof system VV is polynomially bounded if there exists a polynomial qq such that every tautology xx has an accepted proof of length at most q(x)q(|x|):

xTAUT    p{0,1}q(x) such that V(x,p)=1.x\in\mathrm{TAUT} \iff \exists p\in\{0,1\}^{\leq q(|x|)} \text{ such that } V(x,p)=1.

The distinction is essential:

We can now state the result that makes this definition so exciting.

The Cook—Reckhow theorem

Theorem. There exists a polynomially bounded propositional proof system if and only if

NP=coNP.\mathrm{NP}=\mathrm{coNP}.

Equivalently,

There is no polynomially bounded propositional proof system    NPcoNP. \text{There is no polynomially bounded propositional proof system} \iff \mathrm{NP}\ne\mathrm{coNP}.

Despite its significance, the proof is remarkably short.

Polynomially bounded proofs imply NP=coNP\mathrm{NP}=\mathrm{coNP}

Suppose that a polynomially bounded propositional proof system VV exists.

Then membership in TAUT\mathrm{TAUT} has polynomial-size certificates: on input xx, guess a polynomial-length proof pp and run V(x,p)V(x,p).

Therefore,

TAUTNP.\mathrm{TAUT}\in\mathrm{NP}.

But TAUT\mathrm{TAUT} is coNP\mathrm{coNP}-complete. Hence every problem in coNP\mathrm{coNP} can be reduced to a problem in NP\mathrm{NP}, and so

coNPNP.\mathrm{coNP}\subseteq\mathrm{NP}.

Taking complements gives the reverse inclusion:

NPcoNP.\mathrm{NP}\subseteq\mathrm{coNP}.

Consequently,

NP=coNP.\mathrm{NP}=\mathrm{coNP}.

NP=coNP\mathrm{NP}=\mathrm{coNP} implies polynomially bounded proofs

Conversely, suppose

NP=coNP.\mathrm{NP}=\mathrm{coNP}.

We already know that

TAUTcoNP.\mathrm{TAUT}\in\mathrm{coNP}.

Under our assumption, this means

TAUTNP.\mathrm{TAUT}\in\mathrm{NP}.

By the certificate characterization of NP\mathrm{NP}, there must therefore exist a polynomial-time verifier VV and a polynomial qq such that

xTAUT    p{0,1}q(x) such that V(x,p)=1.x\in\mathrm{TAUT} \iff \exists p\in\{0,1\}^{\leq q(|x|)} \text{ such that } V(x,p)=1.

But this is exactly a polynomially bounded propositional proof system.

Therefore,

NP=coNP    a polynomially bounded proof system exists.\mathrm{NP}=\mathrm{coNP} \implies \text{a polynomially bounded proof system exists}.

This proves both directions.

Why this would separate P from NP

The class P\mathrm P is closed under complementation. Therefore, if

P=NP,\mathrm P=\mathrm{NP},

then

NP=P=coP=coNP.\mathrm{NP} = \mathrm P = \mathrm{coP} = \mathrm{coNP}.

Taking the contrapositive gives

NPcoNP    PNP.\mathrm{NP}\ne\mathrm{coNP} \implies \mathrm P\ne\mathrm{NP}.

Combining this with the Cook—Reckhow theorem, we obtain

Proving that no polynomially bounded propositional proof system exists would prove PNP. \text{Proving that no polynomially bounded propositional proof system exists} \text{ would prove } \mathrm P\ne\mathrm{NP}.

What remains far beyond us is a lower bound against every polynomial-time verifiable proof system at once.

Very cool.