Your definition for NP-Hard is not correct, it looks more like the (not precisely correct) definition of the complexity class NP.
What is the complexity class NP?
A computational problem p
is in the complexity class NP if it can be efficiently verified. In complexity theory, we deem computation that takes polynomial time to be efficient. So formally p ∈ NP
if p
is polynomial-time verifiable.
In your definition, you mentioned the concept polynomial-time solvable, which corresponds to the complexity class P. A NP-Complete problem is polynomial-time solvable if and only if P = NP. Note that the famous P vs NP is one of the biggest open problems in Computer Science, so currently no one knows whether P = NP or P ⊊ NP, and it is inappropriate to say that NP problems are not polynomial-time solvable (though it is widely believed to be the case).
What are NP-Hard problems?
Intuitively, NP-Hard problems are computational problems that are at least as hard as the problems in NP. When we say a computational problem p
is at least as hard as another problem q
, we actually think about it reversely - if we can solve p
in time T, than we can also solve q
in time roughly the same as T (say, differ by a polynomial factor).
More precisely, we say that p
is at least as hard as another problem q
if there is a polynomial-time reduction from q
to p
. Roughly speaking, a polynomial-time reduction means given an algorithm A
that solves p
, we can construct a polynomial-time algorithm B
by using A
as black-box (i.e. we treat the time complexity of A
as O(1)
) to solve q
.
In our case of NP-Hard problem, if an NP-Hard problem can be solved in polynomial-time, then ALL NP problems can be solved in polynomial-time (and hence P = NP!). So it is widely believed that NP-hard problems are NOT polynomial-time solvable.
What are NP-Complete problems?
As you have stated correctly in your question, a computational problem p
is NP-Complete if it is NP-Hard and p ∈ NP
.
NP-Hard problems that are not in NP?
If there exists a NP-Hard problem that is not in NP (to the best of my knowledge, no such problem has been proved to fall in this category at this moment of time), such problem is harder than NP-Complete problems.
Proof: Suppose our claim is not true. Let p
be a NP-Complete problem that is at least as hard as another problem q
that is NP-Hard but not in NP. Since p
is at least as hard as q
, we have a polynomial-time reduction (say it runs in time P(n)
) from q
to p
. Since p
is in NP, it can be verified by some algorithm A
in time T(n)
where T
is a polynomial.
Now given any instance r
of q
, we can construct an algorithm B
by first reduction it to an instance s
of p
, and then invoke A
to verify s
. Note that B
verifies q
in time T(P(n))
, which is a polynomial in n
, it follows that q
is in NP, which gives us a contradiction!