In order to prove that a problem L is NP-complete, we need to do the following steps:
- Prove your problem L belongs to NP (that is that given a solution you can verify it in polynomial time)
- Select a known NP-complete problem L'
- Describe an algorithm f that transforms L' into L
- Prove that your algorithm is correct (formally: x ? L' if and only if f(x) ? L )
- Prove that algo f runs in polynomial time