Argument for P=NP

the "yes" or "no" is the verifier you are talking about, which is a precondition for NP. There must be a polynomial time verifier, which is fine.

Okay. So the polynomial-time verifier might be, say, string comparison? The verifier answers "yes" or "no" by comparing the given password to a predetermined string and sees whether they match. Is that what you mean?

In that case, it is easy to guess a password—just return that predetermined string. Clearly that can be done in polynomial time. It should be no surprise that you can guess a password in polynomial time if you are provided with the password itself so that you can verify a guess.

Or is that not what you mean by verification?

But we actually DO observe such oracles, just not all the time, because we know we can guess passwords or hamiltonian paths or whatever.

Look, what I am asking you is whether "guessing passwords" requires access to an external oracle (like a Web server to which the password is submitted and which returns a response) or whether the guess can be checked internally (by direct string comparison to the correct password, for example).

Clearly a guess for a Hamiltonian path can be checked internally—that does not require an external oracle. The Hamiltonian path problem is in NP, because the problem can be given as input to a nondeterministic Turing machine and this machine can answer "yes" or "no" in polynomial time, without communication with an external oracle.

But I don't understand what you mean about "guessing passwords." Are you requiring communication with an external password-verifying oracle for this, like a Web server? If so, then the problem is not in NP, because a nondeterministic Turing machine cannot solve the problem by itself without communication with this external oracle. Or are you providing the Turing machine itself with some way to verify the password internally? If so, how? How is this verification to be done? Are you giving the Turing machine the correct password and asking it to guess that password? If you aren't giving the Turing machine the correct password, and it cannot communicate with an external oracle to verify guesses, then how is the Turing machine supposed to be verifying its guesses? What input are you providing to allow this verification to be done?

/r/math Thread