I'm trying to understand the formal definition of NP Complete and had some questions. I was wondering if someone can provide more insight.
The Jon Kleinberg algorithms book says that if every NP problem can be reduced to a problem X, then problem X is in the set NP Complete.
Now since P is a subset of NP, it follows that we can reduce any problem in P to an NP Complete problem in polynomial time. This leads to a contradiction that since the reduction is in polynomial time, we can solve this NP Complete problem in polynomial time. This cannot be true. So I'm not sure where this reasoning is wrong.
Also if we are able to reduce any NP problem in polynomial time to NP Complete, then why do we say that NP Complete is harder. Since the reduction is in polynomial time, asymptotically speaking, it should not make a difference.