60 2 The P versus NP Question
Loosely speaking, we say that a set S has a proof system if instances in S
have valid proofs of membership (i.e., proofs accepted as valid by the system),
whereas instances not in S have no valid proofs. Indeed, proofs are defined as
strings that (when accompanying the instance) are accepted by the (efficient)
verification procedure. That is, we say that V is a verification procedure for
membership in S if it satisfies the following two conditions:
1.
Completeness: True assertions have valid proofs (i.e., proofs accepted as
valid by V ). Bearing in mind that assertions refer to membership in S,this
means that for every x ∈ S there exists a string y such that V (x, y) = 1; that
is, V accepts y as a valid proof for the membership of x in S.
2.
Soundness: False assertions have no valid proofs. That is, for every x ∈ S
and every string y it holds that V (x, y) = 0, which means that V rejects y
as a proof for the membership of x in S.
We note that the soundness condition captures the “security” of the verification
procedure, that is, its ability not to be fooled (by anything) into accepting a
wrong assertion. The completeness condition captures the “viability” of the
verification procedure, that is, its ability to be convinced of any valid assertion
(when presented with an adequate proof).
We stress that, in general, proof systems are defined in terms of their veri-
fication procedures, which must satisfy adequate completeness and soundness
conditions. Our focus here is on efficient verification procedures that utilize rel-
atively short proofs (i.e., proofs that are of length that is polynomially bounded
by the length of the corresponding assertion).
7
Let us consider a couple of examples before turning to the actual definition
(of efficiently verifiable proof systems). Starting with the set of Hamiltonian
graphs, we note that this set has a verification procedure that, given a pair
(G, π ), accepts if and only if π is a Hamiltonian path in the graph G.Inthis
case, π serves as a proof that G is Hamiltonian. Note that such proofs are
relatively short (i.e., the path is actually shorter than the description of the
graph) and are easy to verify. Needless to say, this proof system satisfies the
7
Advanced comment: In continuation of footnote 3, we note that in this book we consider
deterministic (polynomial-time) verification procedures, and consequently the completeness
and soundness conditions that we state here are errorless. In contrast, we mention that various
types of probabilistic (polynomial-time) verification procedures, as well as probabilistic
completeness and soundness conditions, are also of interest (see Section 4.3.5 and [13,
Chap. 9]). A common theme that underlies both treatments is that efficient verification is
interpreted as meaning verification by a process that runs in time that is polynomial in the
length of the assertion. In the current book, we use the equivalent formulation that considers the
running time as a function of the total length of the assertion and the proof, but require that the
latter has length that is polynomially bounded by the length of the assertion. (The latter issue is
discussed in Section 2.5.)