Definition 1 (usual definition) A problem B is NP-Complete if
- B is in NP
- For C in NP, C is polynomal-time reducible to B
Definition 2 (in a few documents) A problem B is NP-Complete if
- B is in NP
- if B admits a polynomial-time algorithm, then all problems in NP also admit a polynomial-time algorithm
(as in "On the Inherent Intractability of Certain Coding Problems,..., Berlekamp, McEliece and Tilborg" and other documents