P and NP, SAT, Poly-Time Reducibility