Trying to understand the concept of NP-completeness, I came across this pearl on Wikipedia:
From NP-complete:
A decision problem L is NP-complete if it is in the set of NP problems and also in the set of NP-hard problems.
From NP-hard:
A problem H is NP-hard if and only if there is an NP-complete problem L that is polynomial time Turing-reducible to H [...].
So it appears that the definition of NP-completeness depends on the definition of NP-hardness, and vice versa.
What is going on here? How can I untangle these concepts?