Show P is in NPC
  1. show P is in NC
  2. show P is NC-Hard
In detail:
  1. Create a certificate y and verifier A(x,y) and constants k, c, such that
    1. For all input instance x to P, A(x,y) implies P(x)
    2. For all input instance x to P, P(x) implies A(x,y), for some y with |y|=O(|x|^c), A(x,y)
    3. A(x,y) runs in time O(|x|^k).
  2. Choose constant c and NPC problem Q and make a mapping from Q's input space to P's input space such that.
    1. if x' maps to x then |x| is O(|x'|^c)
    2. Q(x') implies P(x)
    3. P(x) implies Q(x')