[Computational Complexity Theory] Proof Complexity (1): Introduction

Introduction to proof complexity

1. Problem introduction

We know that there are more than 350 proofs of the Pythagorean Theorem. [1] When we were in middle school, we only needed to be able to give a proof; but how to measure the quality of the proof? Generally speaking, we tend to think that simple, elegant proofs are good. So how does this manifest? We can measure the simplicity of a proof by its length. The shortest proof written is the most concise, and concise proofs are generally easier to understand and therefore the best.

However, even for the same proof, the length written by each person may be different. So how can the same proof be written in a fixed way? This is what Proof Theory is about. In proof theory, a proof (formal proof) is defined as a string containing some symbols, which must satisfy some explicit rules and prove a theorem, and this theorem is also expressed by a string composed of symbols. . [2] Then, the proof cannot be written casually, but must be written according to the rules, so as to ensure that the proofs written by the same proof method are exactly the same. In this way, we can evaluate the quality of the proof by measuring its length.

The process of writing proofs requires the use of mathematical logic. General theorems are written using first-order logic, but we will not discuss first-order logic in this article, but propositional logic . The most basic unit of propositional logic is the propositional variable (Boolean variable), which can only take 1 11 (true) or0 00 (false) variable. Variables can be connected by connectives to form propositional formulas. Assignment is to give each variable a value, so that a propositional formula has a definite value. A literal is a propositional variable or its negation. If a Boolean formula evaluates to 1 1under all assignments1 , then call it tautology.

If a Boolean formula has a value of 1 1 under a certain assignment1 , it is called satisfiable. Otherwise, if its value under any assignment is0 00 , it is called unsatisfiable.

We say a set of formulas TTT implies the formulaα \alphaα , denoted asT ⊨ α T\models\alphaTα , that is to say, anyTTEvery assignment in T that is true makesα \alphaα is true. If the formulaα \alphaab \betaβ satisfiesβ ⊨ α \beta\models\alphabα , which is equivalent to¬ β ∨ α \neg\beta\lor\alpha¬βα is the eternal formula. Two formulasα \alphaab \betaβ is logically equivalent if and only ifβ ⊨ α \beta\models\alphabαα ⊨ β \alpha\models\betaab .

Proof complexity generally studies the proof length of eternal truths in propositional logic. How does this relate to computational complexity theory? On the one hand, our ultimate goal is to let the computer automatically find proofs, so this involves computational complexity. On the other hand, the time it takes a computer to find a proof is at least as long as the proof. If a short proof does not exist, the time it takes the computer to find a proof is bound to be very long. Therefore, studying whether short proofs exist is a prerequisite for studying how computers can automatically find proofs.

Proof complexity is the cornerstone of SAT solving. We know that if an algorithm can determine whether a Boolean expression is satisfied, it must provide a proof that it is unsatisfiable when it is unsatisfied. You may ask, a decision algorithm only needs to correctly determine whether a Boolean expression is satisfied, so why does it need to give a proof? For, if the algorithm is indeed correct, then the fact that it determines that a certain Boolean expression is unsatisfiable is proof. Therefore, if you want to design an algorithm that can determine satisfiability, you must have the algorithm be able to give proof of unsatisfiability. For formula AAThe proof of the unsatisfiability of A is to ¬ A \neg A¬ A is the proof of the eternal truth, so the length of the proof is the lower bound of the complexity of the SAT algorithm. If some unsatisfiable formulas only have exponential length proofs (that is, the length of the shortest proof is an exponential function of the length of the formula), then it will take at least exponential time for the SAT solver to prove that it is unsatisfiable, that is to say, the SAT solver's The worst running time is exponential, so we can judge that there is no polynomial time algorithm for the SAT problem, and then prove thatP ≠ NP \mathsf{P}\ne\mathsf{NP}P=NP

So do all permanent true formulas have short proofs (generally speaking, short proofs are proofs of polynomial size)? This is still an unsolved problem, and the problem is actually NP = ? co NP \mathsf{NP}\overset{?}{=}\mathsf{coNP}NP=?Another way of saying the coNP problem. We will see this later.

2. Some definitions

We can represent a propositional formula as a tree structure, such as the formula ¬ ( ¬ ( a ∨ b ) ∧ ( a ∨ ( c ∧ ¬ d ) ) ) \neg(\neg(a\lor b)\land(a \lor(c\land\neg d)))¬(¬(ab)(a(c¬ d ))) can be expressed as

a
b
a
c
d

The number of nodes in the tree is called the size of the formula. For example, the size of the formula above is 12 1212

We next give the concept of logical depth. A formula α \alphaThe logical depth of α ldp ( α ) l\mathrm{dp}(\alpha)l dp ( α ) is defined as follows:

  • The logical depth of variables and constants is 0 00
  • For a kkk -ary connective∘ \circ, formula∘( β 1 , ⋯ , β k ) \circ(\beta_1,\cdots,\beta_k)( b1,,bk) has a logical depth of1 + max ⁡ ildp ( β i ) 1+\max\limits_{i}l\mathrm{dp}(\beta_i)1+imaxl dp ( bi)

For example, the logical depth of the formula we gave in the tree structure above is 5 55

We also need the concept of substitution . Consider a formula α \alphaα , the variables involved arev 1 , v 2 , ⋯ , vn v_1,v_2,\cdots,v_nv1,v2,,vn, a replacement for the variable σ \sigmaσ is from each variablevi v_ivito a formula β i \beta_ibiThe mapping of , denoted as σ ( α ) \sigma(\alpha)σ ( α ) . For example, for the formulaα = a ∨ ( b ∧ c ) \alpha=a\lor(b\land c)a=a(bc ) ,interpret: a ↦ b , b ↦ b ∨ c , c ↦ a \sigma:a\mapsto b,b\mapsto b\lor c,c\mapsto ap:ab,bbc,cThe result obtained by a is σ ( α ) \sigma(\alpha)σ ( a ) hågdeb∨ ( ( b ∨ c ) ∧ a ) b\lor((b\lor c)\land a)b((bc)a)

3. Proof system

Is there a way to automatically verify the correctness of the proof? For the proofs we usually write, this is difficult to achieve; but the formal proofs we discuss here must meet certain rules. For such proofs, we can often design an algorithm to verify the correctness of the proof. Such a verification algorithm (verifier) ​​accepts two strings: one is the proposition to be proved, and the other is the proof of the proposition. The algorithm checks whether the proof can prove the given proposition, and accepts it if it can, and rejects it if it cannot. Verification algorithms are generally required to neither reject correct proofs nor accept incorrect proofs. Moreover, this algorithm must be polynomial time. Next, we introduce the formal definition of the proof system.

Definition 1 (Cook-Reckhow [4] ) A function propositional proof system is a polynomial-time computable function P: { 0 , 1 } ∗ → { 0 , 1 } ∗ P:{\{0 ,1\}}^*\to{\{0,1\}}^*P:{ 0,1}{ 0,1} , whose value range is exactly the set TAUT \mathrm{TAUT}composed of all permanent formulasTAUT . a stringwww ifP(w) = α P(w)=\alphaP(w)=α , thenwww isα \alphaAPP of αP - proof.

In fact, PPThe domain of P is the set of proofs, and the domain is the set of eternal truths. www is mapped toα \alphaα , which meanswww isα \alphaA proof of α ; if there is a string mapped toα \alphaα , then it meansα \alphaα has proof. RequestPPThe range of P is exactlyTAUT \mathrm{TAUT}TAUT , that is:PPThe range of P cannot be larger thanTAUT \mathrm{TAUT}TAUT is larger (that is, if it is not eternally true, there can be no proof), and it cannot be larger thanTAUT \mathrm{TAUT}TAUT is small (all permanent formulas must be proved).

Let PPP is a proof system,α \alphaLet α be an independent variable and lets P ( α ) = { min ⁡ P ( π ) = α ∣ π ∣ , α ∈ TAUT ∞ , α ∉ TAUT \mathbf{s}_P(\alpha)=\begin{cases} . \min\limits_{P(\pi)=\alpha}|\pi|,&\alpha\in\mathrm{TAUT}\\\infty,&\alpha\notin\mathrm{TAUT}\end{cases}sP( a )= P ( π ) = aminπ,,aTAUTa/TAUT, intuitively speaking this is α \alphaα in proof systemPPThe length of the shortest proof in P. Define a proof systemPPP has a polynomial upper bound (p-bounded) if and only if there is a constantc ≥ 1 c\ge 1c1 such that for all permanent formulasα \alphaα , both haves P ( α ) ≤ ( ∣ α ∣ + c ) c \mathbf{s}_P(\alpha)\le{(|\alpha|+c)}^csP( a )(α+c)c [4]. (Here addccc is to cope with∣ α ∣ = 1 |\alpha|=1α=The case of 1 ; it can also be written ass P ( α ) = O ( ∣ α ∣ c ) \mathbf{s}_P(\alpha)=O\left({|\alpha|}^c\right)sP( a )=O(αc)。)

Recall that TAUT \mathrm{TAUT}TAUT isco NP \mathsf{coNP}coNP complete problem (see[Computational Theory] Complexity class coNP
). We have the following theorem:

定理2(Cook-Reckhow Theorem [4]NP = co NP \mathsf{NP}=\mathsf{coNP}NP=coNP iff there exists a proof system with a polynomial upper bound.

Proof summary : Let the formal language L ⊆ { 0 , 1 } ∗ L\subseteq{\{0,1\}}^*L{ 0,1} , if for anyx ∈ L x\in LxL , there is always a length not exceeding∣ x ∣ |x|Proof of the polynomial of ∣ x to prove thatx ∈ L x\in LxL this fact, thenL ∈ NPL\in\mathsf{NP}LNP . BecauseTAUT \mathrm{TAUT}TAUT isco NP \mathsf{coNP}coNP is complete, soNP = co NP \mathsf{NP}=\mathsf{coNP}NP=coNP is equivalent toTAUT ∈ NP \mathrm{TAUT}\in\mathsf{NP}TAUTNP , which means that every eternal truth has a proof of polynomial length, which is equivalent to the existence of a proof system with a polynomial upper bound.

An important problem that has not yet been solved is: NP = co NP \mathsf{NP}=\mathsf{coNP}NP=CoNP ? That is, is there a proof system with a polynomial upper bound?

Above we introduced proof systems with polynomial upper bounds, and next we introduce a way to compare two proof systems: polynomial simulation.

Definition 3 [4] Let PPP andQQQ is a system for proving two propositions. A polynomial-time computable functionf : { 0 , 1 } ∗ → { 0 , 1 } ∗ f:{\{0,1\}}^*\to{\{0,1\}}^*f:{ 0,1}{ 0,1} isPPP versusQQA polynomial simulation (p-simulation) of Q if and only if for all strings www , both haveQ ( w ) = P ( f ( w ) ) Q(w)=P(f(w))Q(w)=P(f(w))

How to understand it? Let Q ( w ) = α Q(w)=\alphaQ(w)=a,即www is the eternal true formulaα \alphaα is in the proof systemQQProof in Q. Then, the functionfff meansQQProofin Q systemwww converted toPPProof f ( w ) f(w)in P systemf ( w )f ( w ) f(w)f ( w ) inPP_In the P system, α \alphais stillProof of α . If such a functionfff exists, that means everyQQProof in Q www in systemPPThere is a length in P not exceeding ∣ w ∣ |w|Proof of the polynomial of ∣ w , therefore the systemPPThe effectiveness of P is not weaker than QQQ. _ We putPPP versusQQQ has a polynomial analog, denoted asP ≥ p QP\ge_p QPpQ. _ IfP ≥ p QP\ge_p QPpQ Q ≥ p P Q\ge_p P QpIf P is true, it is calledPPP andQQQ is polynomial equivalent, denoted asP ≡ p QP\equiv_p QPpQ

Define proof system PPP is polynomial optimal (p-optimal) if and only ifPPP polynomial simulates all other proof systemsQQQ. _ SayPPP is optimal if and only if for all proof systemsQQQ , there existsc ≥ 1 c\ge 1c1 , such that for all permanent formulasα \alphaα,都有 s Q ( α ) ≤ s P ( α ) c \mathbf{s}_Q(\alpha)\le{\mathbf{s}_P(\alpha)}^c sQ( a )sP( a )c . Compared with polynomial optimality, the definition of optimality does not require "polynomial simulation", that is, it does not require a functionffThe existence of f is therefore a looser condition.

The following problems are also well-known unsolved problems:

  • Optimality problem : Is there a proof system that is polynomially optimal, or at least optimal?
  • Proof search problem : Is there an optimal deterministic algorithm such that for any permanent formula τ \tauτ , can be proved in the systemPPFindτ \tau in PA proof of τ ? What is the relationship between the proof length found by this algorithm and the shortest proof length? What is the complexity of the algorithm?

If there is a proof system with a polynomial upper bound, then NP = co NP \mathsf{NP}=\mathsf{coNP}NP=coNP ; if we can also find the proof of each eternal truth in polynomial time, thenP = NP \mathsf{P}=\mathsf{NP}P=NP . Therefore, research proves that the complexity ofP = ? NP \mathsf{P}\overset{?}{=}\mathsf{NP}P=?The solution of NP problems is of great significance.

references

[1] Beetle, Ralph Dennison and Elisha Scott Loomis. “The Pythagorean Proposition.” (1968).
[2] Buss, Samuel R. “An Introduction to Proof Theory.” (2010).
[3] Krajícek, Jan. “Proof complexity.” Mathematics and Computation (2019). 这是这篇文章主要的参考文献。
[4] Cook, Stephen A. and Robert A. Reckhow. “The Relative Efficiency of Propositional Proof Systems.” Logic, Automata, and Computational Complexity (1979).

Guess you like

Origin blog.csdn.net/qaqwqaqwq/article/details/131465510