Critique of Barbosa's "P != NP Proof"

11/20/2017 ∙ by Jackson Abascal, et al. ∙ 0

We review André Luiz Barbosa's paper "P != NP Proof," in which the classes P and NP are generalized and claimed to be proven separate. We highlight inherent ambiguities in Barbosa's definitions, and show that attempts to resolve this ambiguity lead to flaws in the proof of his main result.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Despite its provocative title, André Luiz Barbosa’s paper “P != NP Proof”111This critique is written with respect to the most recent available revised version: Version 77 (the version of November 6, 2016) of report 0907.3965 [Bar11]. does not claim to separate P from NP. Instead, the paper provides “generalized” definitions of P and NP, as well as a claimed proof that these generalized classes are not equal. In particular, he defines a language XG-SAT and gives an argument that XG-SAT is in the difference of these classes. We will show that attempts to resolve vagueness in Barbosa’s definitions lead to consequences ignored in the paper, including the failure of his separation proof for redefined P and redefined NP.

2 Preliminaries

We will reiterate some of Barbosa’s definitions. Let (the subscript in is not an indexing variable, but instead a distinguishing mark). Barbosa calls a subset an -language. Throughout the paper, he uses the ambient set of an -language as if somehow contains an underlying reference to . Hereafter, when we refer to an “-language ” it is assumed that and are linked to one another, and that what we call

is implicitly an ordered pair

. A machine is said to decide an -language if it accepts on all and rejects on all . Any machine behavior is acceptable on strings in , including running forever. Let be a deterministic machine. We call a restricted type X program if there is a polynomial such that for all one of the following holds:

  1. rejects every input of length , each in at most steps or

  2. accepts some input of length in at most steps.

Barbosa’s separation argument revolves around a particular -language called XG-SAT. Here, is the set of strings of the form where and is the encoding of a restricted type X program . A string is in XG-SAT if accepts at least one string of length .

Barbosa redefines the concept of a deterministic polynomial time machine. He uses the phrase “Poly-time DTM” to refer to his definition, and we will do so as well. Barbosa’s exact definition of a Poly-time DTM in the paper is as follows:

Poly-time DTM. A DTM is said to be polynomial-time if its running time T(n) = (nk), for some finite nonnegative k that does not depend on n. (n = input.) [Bar11]

Referring to this definition, Barbosa says, “the polynomial CAN definitely depend on the input - as long as it does not depend on the input’s length.” This implies that is not necessarily a constant but instead a function of the input. This raises some immediate concerns. First, Big O notation describes functions with numerical inputs. If is a function with domain , then is also a function with domain , namely the function sending to . We can naturally extend the definition of Big O notation to include these functions: For two functions we say that is if there exists a constant such that for all but finitely many . Another glaring concern is the vague condition that “does not depend” on the length of the input. Given that is explicitly allowed to depend on the input itself, a precise definition of independence is needed. None is given in the paper. We present several natural definitions of independence and show that Barbosa’s separation proof fails under each of them.

  1. Given functions , we say that is independent of if there does not exist such that .

  2. Given functions , we say that is independent of if for all , for all but finitely many .

  3. Given functions , we say that and

    are independent if there exists any probability distribution

    on such that and

    are independent random variables under

    , and for all but finitely many .222One might ask why we impose the restriction that for all but finitely many . If this restriction is removed, every two functions are independent. Let and for all . Then if and only if and , and otherwise. Similarly, and if and only if and , and and otherwise. Thus, and are independent.

Definition (1) formalizes the idea that for to be independent of , it cannot be written as a function of the output of . Given this context, to say that is independent of means that is not solely a function of the length of . Let be a machine deciding an -language . For , define as the number of steps takes on input before halting, and define as the number of 1’s in . Let . For ,

so will always halt on input in time . Furthermore, is not solely a function of , since for , and have different parities and thus cannot be equal, despite the fact that and have the same length. Thus under Definition (1), every decider is a Poly-time DTM.

Definition (2) formalizes the idea that knowing the value of almost never gives information about the value of . Given this context, it means that knowing gives no information about for all but finitely many possible values of . Let , and suppose is independent of . Let be the minimum value such that for all , . There are only finitely many strings of length , so is finite and is bounded by its maximum value. Then is also finite and is bounded. Therefore, if a Poly-time DTM runs in time , it also runs in time for some fixed constant bounding . The definition of a Poly-time DTM in this case is equivalent to the traditional definition.

Definition (3) draws on the formalization of independence in probability theory. Let

, and suppose is a probability distribution on such that for only finitely many , and and are independent random variables. Choose some such that . Let , and let . There are only elements of , so is finite. Since and are independent, they satisfy

If , then by definition so . Then so either or . But so .

The set is finite, and . Thus for every with , is bounded by the maximum value in . Let for some string such that . There are only finitely many strings with zero probability, so is finite; therefore is finite and has a maximum value . For all strings , . A Poly-time DTM of runtime therefore also has runtime , so just as in Definition (2), a Poly-time DTM is exactly a traditional polynomial-time deterministic machine.

3 P-versus-NP

Barbosa redefines the classes P and NP. To avoid confusion, we will refer to Barbosa’s redefined P and NP as and respectively, although he does not use this notation in his paper. An -language is in the class if there exists a Poly-time DTM which decides correctly for all whether . This is not the same for all languages in . A language is in if there is a polynomial and a Poly-time DTM , called a verifier, such that for all , if and only if there exists a string with length at most such that accepts .

3.1 Complexity of XG-SAT

Barbosa attempts to show that XG-SAT is in by providing a verifier. He states that the verifier should take a string of the form where is the encoding of a restricted type X program and , and accept if accepts “within polynomial time.” This phrase implies that after some polynomial number of steps simulating on , the verifier should halt. Such a bounding polynomial, however, is specific to every machine and not fixed for any verifier. It is not clear how Barbosa intends to determine a maximum number of steps after which to cut off any computation, and so this description is not sufficient to construct a verifier for XG-SAT.

The format of Barbosa’s flawed verifier construction does shed some light on the choice of definition of a Poly-time DTM. Barbosa would like to be able to take as input arbitrary polynomial-time machines and simulate them, while keeping the simulator in polynomial time as well. He attempts to do this by stating that the runtime of a machine may depend on the input but not its length while neglecting to consider the possible repercussions of this definition.

3.2 Either = or XG-SAT is not in

Under Definition (1), and are equal. Recall that Definition (1) implies every decider is a Poly-time DTM. Then is the class of all decidable -languages. is also the class of all decidable -languages since any language can be decided deterministically as follows: If is an verifier for , on input we will run on all strings of length at most and accept if ever accepts. In this case,   , so Barbosa cannot possibly separate the classes.

Under Definitions (2) and (3), XG-SAT is not in . The argument we give below is in fact adapted from page 9 of Barbosa’s paper. Suppose XG-SAT is in . Then there exists a verifier for XG-SAT and polynomial such that runs for at most steps for any valid input . Valid inputs are of the form where is the encoding of a restricted type X program. In [SFM78], Seiferas, Fischer, and Meyer prove the existence of a decidable unary language which is not in NP (note that NP here refers to the classical complexity class, not ). Let be a machine deciding and let be the machine which simulates on inputs of length and rejects all other inputs. Clearly runs in constant time since it will only simulate for finitely many inputs and reject all other inputs after at most steps. Therefore is a restricted type X program. We can now create a decider for

which runs in nondeterministic polynomial time. On input

, if is of the form , guesses a polynomial length string and simulates on input , where is the encoding of . Otherwise rejects. Therefore is in NP, which is a contradiction.


We thank Michaela Houk, Daniel Rubery, and Jesse Stern for their comments on previous drafts of this paper. We also thank Professor Lane A. Hemaspaandra for being our CREU mentor and presenting us with the original paper.