I have a hard time to find the goal of having $co-NP$ problems.
- $NP$: Is there a Hamiltonian path in this graph?
We need to bring a certificate, and the verifier checks the certificate in polynomial time. However, finding such a path might not be done in polynomial time. It may need searching the entire problem space.
- $co-NP:$ Isn't there any Hamiltonian path in this graph?
To say "no", we need to bring a counterexample, and the counterexample (the same certificate) is checked by [the same] verifier in polynomial time. However, finding such a counterexample might not be done in polynomial time. It may need searching the entire problem space.
Am I right in the definition of my examples?
It seems we can reduce them to each other:
For example, "Isn't there any Hamiltonian path in this graph?" We ask the complement $NP$ problem "Is there any Hamiltonian path in this graph", if it said "Yes", we would say "No" to the $co-NP$ problem and if it said "No", we would say "yes" to the $co-NP$ problem.
So, what is actually the difference? Is it just playing on words? Are there questions for which the NP and its co-NP different to answer?
Anyway, I don't know the goal here, please guide me.