aa r X i v : . [ c s . CC ] M a y Critique of Boyu Sima’s Proof that P = NP Brendon PonDepartment of Computer ScienceUniversity of RochesterRochester, NY 14627, USAMay 7, 2020
Abstract
We review and critique Boyu Sima’s paper, “A solution of the P versus NP problembased on specific property of clique function,” which claims to prove that P = NP byway of removing the gap between the nonmonotone circuit complexity and the monotonecircuit complexity of the clique function. We first describe Sima’s argument, and thenwe describe where and why it fails. Finally, we present a simple example that clearlydemonstrates the failure. One of the most well-known and long-standing problems in computer science is the questionof whether P = NP. A solution to the problem would have wide-ranging implications toeverything from economics to cybersecurity. To this end many have claimed to have founda proof that either P = NP or P = NP. However, to this date no such claim has been foundto be correct.There are various methods for attempting such a proof. One such method is by us-ing lower bounds on the complexity of circuits. By showing that a known NP-completeproblem has an exponential lower-bounded circuit complexity, you show that P = NP. Inhis paper “A solution of the P versus NP problem based on specific property of cliquefunction” [Sim19], Sima tries to do precisely this. Sima analyzes the clique function andattempts to show that the circuit complexity of the clique function is exponential, thusshowing that P = NP.In this paper, we will first present some definitions and some prior work that Simauses in his argument. We will then present Sima’s argument and describe where Sima’sargument fails due to making an improper generalization and failing to consider the con-nection between a Boolean variable and its negation. Finally we will provide an examplethat demonstrates the hole in his algorithm. 1 Preliminaries
The following are the needed definitions and an existing theorem that will be used.
Boolean Functions
A Boolean function of k variables is a function f : { , } k → { , } .Boolean functions (of k variables) can be expressed as Boolean (propositional) formulaswith k variables and the logical operators ( ∧ , ∨ , ¬ ).A Boolean function f of k variables is called monotone if( ∀ w, w ′ ∈ { , } k : w ≤ l ex w ′ )[ f ( w ) ≤ f ( w ′ )] . Note: If a function is monotone, then changing a 0 to a 1 in the input will never cause adecrease in the output, and changing a 1 to a 0 in the input will never cause an increase inthe output.
Boolean Circuits
A Boolean circuit is a directed acyclic graph with gate nodes and input nodes. Gate nodescan be one of three types corresponding to the logical operators AND ( ∧ ), OR ( ∨ ), andNOT ( ¬ ) and have indegrees of 2, 2 and 1 respectively and unbounded outdegrees. For hispurposes, Sima expresses Boolean circuits as Boolean expressions ( f ( x , x , x , . . . )) whereinput nodes correspond to the variables, and gate nodes correspond to logical operators.This allows him to work with and modify expressions without working expressly with circuitsand their diagrams. It should be noted that the number of logical operators in an expressionmay not be directly correlated to the complexity of the corresponding circuit as gates withincircuits are allowed to output to multiple other gates. However, this does not affect Sima’sargument as he uses these expressions to argue about the correctness (behavior) of thecircuits rather than their complexity.A Boolean circuit with no NOT gates is called monotone .A Boolean circuit in which only the input nodes are negated (only the input nodes areinputs to NOT gates) is called a standard circuit. Because negations occur only at the inputnodes, one can rewrite such a circuit, f ( x , x , . . . , x n ) , as a circuit with twice as many input nodes but no negations, f ( x , x , . . . , x n , ¬ x , ¬ x , . . . , ¬ x n ) . In this manner one removes the NOT gates, but for any valid assignment of variables,( ∀ i ∈ { . . . n } ) [ x i = NOT ( ¬ x i )]. 2 ircuit Complexity The circuit complexity of a Boolean function is the size (number of gates) of the smallestBoolean circuit that computes the Boolean function.The standard circuit complexity of a Boolean function is the size (number of gates) ofthe smallest standard circuit that computes the Boolean function.The monotone circuit complexity of a Boolean function is the size (number of gates) ofthe smallest monotone circuit that computes the Boolean function.
The Clique Function and its Monotone Complexity
For 1 ≤ s ≤ m , let CLIQUE ( m, s ) be the function of n = (cid:0) m (cid:1) variables representing theedges of an undirected graph G on m vertices, whose value is 1 if and only if G contains an s -clique.The monotone complexity of the clique function is exponential. Razborov initiallyshowed a superpolynomial lower bound. This was improved by Alon and Boppana [AB87]to be exponential. Sima builds his argument by attempting to fill in the holes left by Alon and Boppana’sanalysis of the lower bounds for the monotone complexity of the clique function. Theirpaper is only able to establish lower bounds for the monotone complexity of the cliquefunction. The nonmonotone complexity of the clique function is thus left unbounded. Simaargues that the nonmonotone complexity of the clique function is in fact greater than orequal to that of the monotone complexity of the clique function.In order to show this, Sima attempts to transform a nonmonotone circuit for the cliquefunction into a monotone circuit for the clique function without increasing its size beyonda polynomial factor. He first considers standard circuits (as defined previously). He claimsthat any circuit can be transformed into a standard circuit by at most doubling the numberof gates. Because of this, the difference in complexity between standard and non-standardcircuits is at most a factor of 2, thus allowing him to consider only standard circuits. Fromthis point he makes his main argument.He considers the standard Boolean circuit f ( x , x , . . . , x n , ¬ x , ¬ x , . . . , ¬ x n ) that com-putes the clique function, CLIQUE ( m, s ). At this point he makes the argument that re-placing any one of the negated variables ( ¬ x i ) with 1 (TRUE) will result in a circuit thatcomputes the same function. To prove this, he first argues that one can “extract” anynegated variable in the circuit, moving it to the front of the formula. This results in aformula of the form f = ¬ x i ∧ TermA ∨ TermB ∨ TermC . . . , Throughout this paper, we assume the standard operator precedence rules, and in particular that ¬ hashigher precedence than ∧ , which itself has higher precedence than ∨ . x i is the extracted variable and none of TermA , TermB , TermC . . . include ¬ x i .He then uses this extracted form of the formula to argue that replacing ¬ x (or someother arbitrary negated variable) with 1 does not change the value of f when f calculatesthe clique function. The argument is as follows.Sima starts with the extracted form of the standard clique formula where ¬ x is theextracted variable: f = ¬ x ∧ TermA ∨ TermB ∨ TermC . . . .
There are then two cases he considers. Sima refers to ¬ x ∧ TermA as Term1 , with
Term1part1 referring to ¬ x and Term1part2 referring to
TermA .Case 1:
Term1part2 has a value of 0.In this case he argues that because this second part of
Term1 has a value of 0, clearly nomatter what you set ¬ x to, the value of Term1 will be 0. Thus the output of the circuitwill not change.Case 2:
Term1part2 has a value of 1.In this case, he argues that if
Term1part2 has a value of 1 then the value of the entirefunction is also 1. The reasoning he gives is that if ¬ x is also 1, then x takes the value 0.As such, by the definition of the clique function, the edge corresponding to x is disconnectedand thus ¬ x (and x ) has no contribution to the size of the clique. Thus as long as thevalue of Term1part2 is 1, the value of the circuit will be 1 no matter what ¬ x is.The final step in Sima’s proof is to argue that since this aforementioned process canbe done with any of the negated variables ( ¬ x , ¬ x , . . . , ¬ x n ), you can (sequentially)replace all the negated variables with the value 1, and the resulting circuit will compute theclique function correctly. Furthermore he states that since this replacement will clearly notincrease the complexity of the circuit, and (as you are starting with a standard circuit) theresulting circuit will be monotone, standard circuits for the clique function are no smallerthan monotone circuits for the clique function. Since the monotone circuit complexity ofthe clique function was proven to be exponential, the standard circuit complexity (and thusthe complexity overall) of the clique function is also exponential. As such he concludes thatP = NP. On its surface, Sima’s argument seems sound. He builds off Alon and Boppana’s findingabout the monotonic complexity of the clique function by converting a nonmonotone circuitinto a monotone one without increasing its complexity. However, the problem lies in hisargument about the conversion process. From here let’s follow his argument more closely.He starts with a(n) (arbitrary) standard circuit that computes the clique function. Thisis then expressed in the form f = f ( x , x , . . . , x n , ¬ x , ¬ x , . . . , ¬ x n ). His first claim isthat any of the negated variables ( ¬ x i ) can be extracted, putting the circuit into the form f = ¬ x i ∧ TermA ∨ TermB ∨ TermC . . . , where each of the terms
TermA , TermB ,. . . doesnot contain ¬ x i . This is in fact trivial. By first expanding the Boolean formula into Sumof Products form and then reorganizing and factoring out ¬ x i , this is easily achievable.4e then considers extracting one of the negated variables (using ¬ x as his example,but extending the argument to any negated variable) and makes arguments for two casesconcerning the value of Term1 (again where
Term1 = ¬ x ∧ TermA , Term1part1 = ¬ x ,and Term1part2 = TermA ).In the first case he considers when
Term1part2 has a value of 0. His argument in thiscase is sound. When
Term1part2 has a value of 0, the contribution from
Term1 to theoverall function will be 0 no matter the value of ¬ x .However, in his second case he runs into trouble. When the value of Term1part2 is 1,he again tries to present an argument for why setting the value of ¬ x to 1 will not changethe value of the function. But here he misunderstands what he is actually arguing andneglects to fully comprehend the connection between x and ¬ x . His initial argument istrue. If Term1part1 is 1, then clearly the value of f will be 1. Due to the clique functionbeing monotone, this does in fact mean that the x edge has no contribution to the valueof the clique function as adding an edge to the graph (changing the value of ¬ x from 1to 0 and vice versa for x ) will not cause a clique in the graph to disappear. As such anyassignment of ¬ x will result in the same value of the function. A more formal descriptionof what Sima proves follows below. Definition 4.1
Let A be an assignment of the Boolean variables x , x , x , . . . , x n . Define A ′ to be the same assignment as A except with the value of x reversed (changed from 0 to1 or vice versa). Claim 4.2
If both Term1part1 and Term1part2 evaluate to 1 given an assignment A , thenboth f ( A ) = 1 and f ( A ′ ) = 1 . The same is true swapping A and A ′ , as A = A ′′ By his argument Sima is able to prove the claim above: that if a variable assignment A , orits corresponding assignment A ′ , in which the assigned value of x is reversed, causes thevalue of Term1 to be 1, then BOTH f ( A ) = 1 and f ( A ′ ) = 1. However, Sima mistakenlyassumes that all assignments where Term1part2 = 1 fall into the form of A or A ′ . Thisappears, at first, to be true as Term1part1 = ¬ x . So by flipping the value of ¬ x (i.e.changing from A to A ′ ) you can always make Term1 evaluate to 1. However, this ignoresthe connection between x and ¬ x . Because x must be equal to the negation of ¬ x in anyvalid assignment, it is possible for there to be variable assignments B for which the valueof Term1part2 is 1, while neither B nor B ′ result in both Term1part1
AND
Term1part2 having a value of 1. We will describe one such case below.
Consider the following example: Let f ( x , x , . . . , x n ) be a monotone circuit that computesthe clique function, CLIQUE ( m, s ), for some s ≥
3. Now append to the circuit (via thelogical OR operator) the term ¬ x ∧ x . f ′ is now f ′ ( x , x , . . . , x n ) = x ∧ ¬ x ∨ f ( x , x , . . . , x n ) , or in standard form f ′ ( x , x , . . . , x n , ¬ x ) = x ∧ ¬ x ∨ f ( x , x , . . . , x n ) . Since the appended term is NEVER satisfied and is adjoined to f via an OR operator,the resulting f ′ will have the same behavior as f and will also calculate CLIQUE ( m, s )correctly. Now following Sima’s process and extracting the negated ¬ x , the result is f ′ ( x , x , . . . , x n , ¬ x ) = ¬ x ∧ ( x ) ∨ TermB ∨ TermC . . . , where
TermB , TermC ,. . . are terms (without negation) containing any of the variablesexcept ¬ x . Note that since f is a monotone circuit, the only negated variable will be the ¬ x that was just introduced. What Sima refers to as Term1 in this case is ¬ x ∧ x , with Term1part1 being ¬ x and Term1part2 being x . Now, per Sima’s algorithm, set ¬ x to1, resulting in the following circuit f ′′ : f ′′ ( x , x , . . . , x n ,
1) = 1 ∧ ( x ) ∨ T ermB . . . = x ∨ T ermB . . . .
From here it is clear to see that as long as x has a value of 1, the value of f ′′ will be 1.Looking at the equation from another perspective, even if ONLY x has a value of 1 andall the other variables are set to 0, the circuit will still output 1. However, bringing thisback to our definition of the clique function, if there is a graph with only one edge, it isimpossible to have a clique of size anything greater than 2. Thus this new f ′′ clearly doesnot compute the same function as f .The reason Sima’s argument fails is that the set of all variable assignments A for whichboth Term1part1 and
Term1part2 evaluate to 1, and their corresponding assignments A ′ ,does not equal the set of all assignments S for which Term1part2 evaluates to be 1. Thisis stated more formally below. Let
Term1part2 ( A ) be the value of Term1part2 given theassignment A and similarly for Term1part1 ( A ). Then { A | Term1part2 ( A ) = 1 , Term1part1 ( A ) = 1 } ∪{ A | Term1part2 ( A ′ ) = 1 , Term1part1 ( A ′ ) = 1 } 6 = { A | Term1part2 ( A ) = 1 } . In fact, there are no valid assignments A (and thus no corresponding A ′ ) for which both Term1part1 and
Term1part2 , in the example presented in this section, evaluate to 1. How-ever, any assignment in which x is 1 causes Term1part2 to evaluate to 1. Because x and ¬ x , although treated as different variables in the standard formula, must be negations ofeach other in any valid assignment, it is possible to create cases that Sima’s argument failsto cover such as the one presented above.By failing to consider this connection between ¬ x and x , Sima makes an intuitivegeneralization that, although on the surface may seem reasonable, leaves loopholes that canchange the behavior of the function. The above example illustrates the error in his logicand provides a specific counterexample to his process.6 Conclusion
Sima’s argument attempts to build off of the findings of Alon and Boppana [AB87] in orderto extend the exponential lower bound for the monotone circuit complexity of the cliquefunction, to the nonmonotone circuit complexity of the clique function. He describes a cleverattempt to convert standard (nonmonotone) circuits into monotone circuits and attemptsto prove that this conversion holds in the case of the clique function. However, in doing sohe makes an unfounded generalization in his argument. This results in specific cases thatcan be exploited by using the connection between variables and their negations.By describing his flaw and presenting a counterexample to his process, we have demon-strated that his method is not satisfactory. It is possible that through using a more specificdescription of what the minimal nonmonotone circuit of the clique function looks like, onecould sidestep the problems that we have described in this paper and establish an exponen-tial lower bound on the nonmonotone complexity of the clique function. In fact, in 2005Amano and Maruoka were able to show that the lower bound for the complexity of non-monotone circuits for the clique function with at most 1 / n )) negation gates is infact superpolynomial [AM05]. However, until such time as we have a better understandingof the clique function and its properties, a proof such as presented in Sima’s paper is notpossible. References [AB87] Noga Alon and Ravi B. Boppana. The monotone circuit complexity of Booleanfunctions.
Combinatorica , 7(1):1–22, 1987.[AM05] Kazuyuki Amano and Akira Maruoka. A superpolynomial lower bound for a circuitcomputing the clique function with at most (1 /