Cook-Levin Theorem: Full Proof (SAT is NP-complete)