1 Introduction
Despite its provocative title, André Luiz Barbosa’s paper “P != NP Proof”^{1}^{1}1This critique is written with respect to the most recent available revised version: Version 77 (the version of November 6, 2016) of arXiv.org 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 XGSAT and gives an argument that XGSAT 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:
rejects every input of length , each in at most steps or

accepts some input of length in at most steps.
Barbosa’s separation argument revolves around a particular language called XGSAT. Here, is the set of strings of the form where and is the encoding of a restricted type X program . A string is in XGSAT if accepts at least one string of length .
Barbosa redefines the concept of a deterministic polynomial time machine. He uses the phrase “Polytime DTM” to refer to his definition, and we will do so as well. Barbosa’s exact definition of a Polytime DTM in the paper is as follows:
Polytime DTM. A DTM is said to be polynomialtime if its running time T(n) = (n^{k}), 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.

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

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

Given functions , we say that and
are independent if there exists any probability distribution
on such that andare independent random variables under
, and for all but finitely many .^{2}^{2}2One 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 Polytime 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 Polytime DTM runs in time , it also runs in time for some fixed constant bounding . The definition of a Polytime 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 satisfyIf , 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 Polytime DTM of runtime therefore also has runtime , so just as in Definition (2), a Polytime DTM is exactly a traditional polynomialtime deterministic machine.
3 PversusNP
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 Polytime 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 Polytime 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 XGSAT
Barbosa attempts to show that XGSAT 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 XGSAT.
The format of Barbosa’s flawed verifier construction does shed some light on the choice of definition of a Polytime DTM. Barbosa would like to be able to take as input arbitrary polynomialtime 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 XGSAT is not in
Under Definition (1), and are equal. Recall that Definition (1) implies every decider is a Polytime 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), XGSAT is not in . The argument we give below is in fact adapted from page 9 of Barbosa’s paper. Suppose XGSAT is in . Then there exists a verifier for XGSAT 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.Acknowledgments
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.
References
 [Bar11] A. Barbosa. P != NP proof. Technical Report arXiv:0907.3965 [cs.CC], Computing Research Repository, arXiv.org/corr/, May 2011. Version 77 (of November 6, 2016); the date of Version 1 was July 23, 2009.
 [SFM78] J. Seiferas, M. Fischer, and A. Meyer. Separating nondeterministic time complexity classes. J. ACM, 25(1):146–167, January 1978.
Comments
There are no comments yet.