Interactive proofs
Sanjeev Arora, Boaz Barak · Computational Complexity · 2009
What is intuitively required from a theorem-proving procedure? First, that it is possible to “prove” a true theorem. Second, that it is impossible to “prove” a false theorem. Third, that communicating the proof should be efficient, in the following sense. It does not matter how long must the prover compute during the proving process, but it is essential that the computation required from the verifier is easy. – Goldwasser, Micali, and Rackoff, 1985 The standard notion of a mathematical proof is closely related to the certificate definition of NP . To prove that a statement is true one provides a sequence of symbols on a piece of paper, and the verifier checks that they represent a valid proof/certificate. A valid proof/certificate exists only for true statements. However, people often use a more general way to convince one another of the validity of statements: they interact with one another, where the person verifying the proof (called verifier from now on) asks the person providing it (called prover from now on) for a series of explanations before he is convinced. It seems natural to try to understand the power of such interactive proofs from the complexity-theoretic perspective. For example, can one prove in a succinct way that a given formula is not satisfiable? This problem is coNP -complete, and hence is believed to not have a polynomial-sized proof in the traditional sense.