Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was reading "Is P Versus NP Formally Independent?" but I got puzzled.

It is widely believed in complexity theory that $\mathsf{P} \neq \mathsf{NP}$. My question is about what if this is not provable (say in $ZFC$). (Let's assume that we only find out that $\mathsf{P} \neq \mathsf{NP}$ is independent from $ZFC$ but no further information about how this is proven.)

What will be the implications of this statement? More specifically,


Assuming that $\mathsf{P}$ capture the efficient algorithms (Cobham–Edmonds thesis) and $\mathsf{P} \neq \mathsf{NP}$, we prove $\mathsf{NP\text{-}hardness }$ results to imply that they are beyond the present reach of our efficient algorithms. If we prove the separation, $\mathsf{NP\text{-}hardness}$ means that there is no polynomial time algorithm. But what does an $\mathsf{NP\text{-}hardness }$ result mean if the separation is not provable? What will happen to these results?

efficient algorithms

Does unprovability of the separation mean that we need to change our definition of efficient algorithms?

share|cite|improve this question
The first thing you need to ask is: formally independent of what? In mathematical logic, there are many sets of axioms people have considered. The default one is ZFC, or Zermelo-Fraenkel set theory with the Axiom of Choice. What it means to be independent of ZFC is that neither P=NP or P!=NP can be proved from these axioms. – Peter Shor Feb 2 '12 at 15:38
If you want to know what a proof for a statement of the form “whether X or not is independent of axiomatic system Y” looks like, why don’t you just read some examples? The independence of the Axiom of Choice from the Zermelo-Fraenkel set theory is a famous example. I voted to close as not a real question by mistake, but I meant to vote to close as off topic. – Tsuyoshi Ito Feb 2 '12 at 16:01
Did you to read the very good and freely available Scott Aaronson's paper; "Is P Versus NP Formally Independent?" ( – Marzio De Biasi Feb 2 '12 at 16:02
The question "if X is proved independent of ZFC, and we have some theorems of the form X $\rightarrow$ Y, what happens to these theorems?" seems well-posed, and is the question that I believe the OP is asking. The answer would seem to be: in some axiom systems, such as ZFC + X, we then have Y holding, while in ZFC + $\lnot$X we have no information about Y. As such, these conditional theorems would still have some value. In fact, they would have more value in this situation than if $\lnot$X were to be proved to be a theorem. – András Salamon Feb 7 '12 at 10:15
The ZFC unprovability of P vs NP would probably have a lot more implication for Set Theory than Complexity Theory. – David Harris Feb 8 '12 at 20:21

Your question might better be phrased, "How would complexity theory be affected by the discovery of a proof that P = NP is formally independent of some strong axiomatic system?"

It's a little hard to answer this question in the abstract, i.e., in the absence of seeing the details of the proof. As Aaronson mentions in his paper, proving the independence of P = NP would require radically new ideas, not just about complexity theory, but about how to prove independence statements. How can we predict the consequences of a radical breakthrough whose shape we currently can't even guess at?

Still, there are a couple of observations we can make. In the wake of the proof of the independence of the continuum hypothesis from ZFC (and later from ZFC + large cardinals), a sizable number of people have come around to the point of view that the continuum hypothesis is neither true nor false. We could ask whether people will similarly come to the conclusion that P = NP is "neither true nor false" in the wake of an independence proof (for the sake of argument, let's suppose that P = NP is proved independent of ZFC + any large cardinal axiom). My guess is not. Aaronson basically says that he wouldn't. Goedel's 2nd incompleteness theorem hasn't led anyone that I know of to argue that "ZFC is consistent" is neither true nor false. P = NP is essentially an arithmetical statement, and most people have strong intuitions that arithmetical statements—or at least arithmetical statements as simple as "P = NP" is—must be either true or false. An independence proof would just be interpreted as saying that we have no way of determining which of P = NP and P $\ne$ NP is the case.

One can also ask whether people would interpret this state of affairs as telling us that there is something "wrong" with our definitions of P and NP. Perhaps we should then redo the foundations of complexity theory with new definitions that are more tractable to work with? At this point I think we are in the realm of wild and unfruitful speculation, where we're trying to cross bridges that we haven't gotten to and trying to fix things that ain't broke yet. Furthermore, it's not even clear that anything would be "broken" in this scenario. Set theorists are perfectly happy assuming any large cardinal axioms that they find convenient. Similarly, complexity theorists might also, in this hypothetical future world, be perfectly happy assuming any separation axioms that they believe are true, even though they're provably unprovable.

In short, nothing much follows logically from an independence proof of P = NP. The face of complexity theory might change radically in the light of such a fantastic breakthrough, but we'll just have to wait and see what the breakthrough looks like.

share|cite|improve this answer
@vzn: Your examples aren't just "arguably" arithmetical; they're unquestionably arithmetical. But I'm not sure what your point is. Take some diophantine equation $E$ with the property that "$E$ has no solutions" is undecidable in ZFC. My point is that everyone I know believes that either $E$ has solutions or it doesn't, and that we just can't prove it one way or the other. Do you believe that there is no fact of the matter about whether $E$ has solutions—that $E$ neither has nor doesn't have solutions? – Timothy Chow Feb 7 '12 at 15:13
@vzn: I think you completely miss the point. The question is not whether a particular statement is undecidable, but whether it is neither true nor false. The two concepts are entirely distinct. Would you say, for example, that ZFC is neither consistent nor inconsistent? Everyone (else) that I know believes that either ZFC is consistent, or it isn't, even though we may have no way of determining which is the case. – Timothy Chow Feb 8 '12 at 1:11
"this sounds like religion to me and not mathematics" — Welcome to metamathematics. Perhaps a less objectionable way of saying "X is neither true nor false" is that we have no a priori reason to prefer an axiomatic system in which X is true over an axiomatic system in which X is false. We have an (almost) universally agreed standard model of arithmetic; as a social convention, we accept arithmetic statements that hold in that model as being really, actually true. The same cannot be said for set theory. – Jeffε Feb 9 '12 at 13:02
See also and… — Each mathematician's personal mix of formalism, platonism, and intuitionism is essentially a religious conviction. – Jeffε Feb 9 '12 at 13:06
@vzn: You still miss the point. Even if we grant you your personal religious beliefs, all you're saying is that you wouldn't join Aaronson and the rest of the world in declaring arithmetical sentences to be either true or false. We all agree that there's no way to tell from the form of a statement whether it's undecidable, but that's not the claim. The claim is that almost everyone except you does have strong intuitions that arithmetical statements are either true or false. Just because you don't share that conviction doesn't mean that others don't have it. – Timothy Chow Feb 13 '12 at 18:03

This is a valid question, even though perhaps a little unfortunately phrased. The best answer I can give is this reference:

Scott Aaronson: Is P versus NP formally independent. Bulletin of the European Association for Theoretical Computer Science, 2003, vol. 81, pages 109-136.

Abstract: This is a survey about the title question, written for people who (like the author) see logic as forbidding, esoteric, and remote from their usual concerns. Beginning with a crash course on Zermelo Fraenkel set theory, it discusses oracle independence; natural proofs; independence results of Razborov, Raz, DeMillo-Lipton, Sazanov, and others; and obstacles to proving P vs. NP independent of strong logical theories. It ends with some philosophical musings on when one should expect a mathematical question to have a definite answer.

share|cite|improve this answer
Uh, I totally missed the fact that Aaronson's paper was already mentioned in the comments. My apologies. – Andrej Bauer Feb 4 '12 at 15:18

As Timothy Chow explains, just knowing that a theorem is independent from a theory doesn't say much about the truth/falsity of that statement. Most non-experts confuse formal unprovability in a fixed theory (like $ZFC$) with impossibility of knowing that answer to the truth/falsity of the statement (or sometimes meaninglessness of the statement). Independence and formal unprovability always means independence/unprovability in a theory. It simply means that the theory can prove neither the statement nor its negation. It doesn't mean that the statement does not have a truth value, it doesn't mean that we cannot know the truth value of the statement, we might be able to add new reasonable axioms that will make the theory strong enough to be able to prove the statements or its negation. At the end, provability in a theory is a formal abstract concept. It is related to our real world experience only as a model.

Same applies to the thesis that efficient computation is captured by complexity class $\mathsf{P}$. See this post.

Now you can ask if it is possible for a formal statement to not have a truth value. Generally in practice in principle, we can affirm $\Sigma_1$ (a.k.a. r.e.) properties and refute $\Pi_1$ (a.k.a. co-r.e.) properties by observations. Any statement more complex than this is not directly observable, i.e. no (finite) observation will allow you to affirm or refute the statement. However we can look at the observable logical consequences of these statements and try to use them to decide whether a statement is true or false. (For more on finitely observable properties see Samson Abramsky's Ph.D. thesis "Domain Theory and the Logic of Observable Properties", 1987 and Steven Vickers' "Topology via Logic", 1996.)

For most mathematicians statements of higher logical complexity are also meaningful and have a truth value, but this goes into the philosophical issues in mathematics. Almost all mathematicians believe that statements in the arithmetical hierarchy are meaningful and have definite truth values, and in some sense they view the truth value of these statements to be more definite than statements of higher logical complexity (like CH). The statement $\mathsf{P} \neq \mathsf{NP}$ can be stated as a $\Sigma_2$ statement and therefore is an arithmetical statement. As such, almost all mathematicians would believe that it is meaningful and has a definite truth value. You may want have a look at this MO question, and search the posts on FOM mailing list.

share|cite|improve this answer

Just some rambling thoughts about this. Feel free to criticize.

Let Q = [cannot prove (P = NP) and cannot prove (P /= NP)]. Suppose Q for a contradiction. I will also assume that all known discoveries about P vs NP are still viable. In particular, all NP problems are equivalent in the sense that if you can solve one of them in polynomial time, you can solve all others in polynomial time. So let W be an NP complete problem; W equally represents all problems in NP. Because of Q, one cannot obtain an algotithm A to solve W in polynomial time. Otherwise we have proof that P = NP, which contradicts Q (1)(*). Note that all algorithms are computable by definition. So saying that A cannot exist implies that there is no way to compute W in polynomial time. But this contradicts Q (2). We are left with rejecting either (1) xor rejecting (2). Either case leads to a condradiction. Thus Q is a contradiction, which means that the proof of whether or not (N = NP) must exist.

(*) You might say, "Aha! A might exist, but we just cannot find it". Well, if A existed, we can enumerate through all programs to find A by enumerating from smaller programs to larger programs, starting with the empty program. A must be finite because it is an algorithm, so if A exists, then the enumeration program to find it must terminate.

share|cite|improve this answer
@Victor: Good point. I imagine that if A exists, then one can simply analyze each enumerated program to see if it indeed solves an NP complete problem in polynomial time. I believe that since one is working with a finite instruction set (given by some universal computer) that A can be identified. But I'm no expert. – Thomas Eding Feb 10 '12 at 20:12
Also... If A exists, then let N be the size of A. Let T be the set of all program of size <= N. One can simultaneously run W on all A' in T. As each A' terminates, run the output O through a program that checks to see if O solves W. (Note that any so-called 'solution' to an NP complete problem can be verified in polynomial time.) If O is a correct answer, shut off all other computers and return O. Keep in mind that not every A' must terminate because A is one of them and will output a correct O in polynomial time. Thus one does not need to even prove that A solves P=NP. N exists by definition. – Thomas Eding Feb 10 '12 at 20:27
I fail to see the problem. When A' terminates, check its output O. If O is valid, stop all other A' and return O. O can be verified on the machine that A' terminates on, so you will not get a bunch of queued verifying programs. The only problem I see with this approach is getting a good N. I think it might be enough to say that N is finite (which it must be) to disprove Q. – Thomas Eding Feb 10 '12 at 20:46
All NP complete are search problems such that proposed solutions can be verified in polynomial time (acquiring such a proposed solution is allowed to be "difficult" though). O is not intended to prove if P=NP or not. O is simply a proposed solution to a particular instance W of an NP complete problem. For example, if I give you a tour for a particular travelling salesman problem, you can check to see if it is a shortest tour in polynomial time. – Thomas Eding Feb 10 '12 at 21:20
"P = NP is independent of ZFC" is not the same as "we cannot find an algorithm to solve any problem in NP in deterministic polynomial time", as Victor has pointed out. The precise definitions of these classes are rather important when dealing with notions such as independence with respect to a theory. – András Salamon Feb 12 '12 at 19:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.