I have a question about cook reductions and karp reductions. Which is the stronger form?
As a cook reduction reduces a search problem to a decision problem which can then be reduced using karp reductions, however with the notion of karp reductions in using nondeterministic polynomial time, doesn't the nondeterministic part mean that it's not necessarily polynomial as we could end up listing all possible inputs as the certificate? Whereas cook reductions require the reduction to be done in a polynomial number of steps so surely a cook reduction would be better in this sense, but then a karp reduction is always used after cook reductions.
I realise this isn't really a clear question, but my main question is what is the real difference and why do we need both? Why could we not just use karp reductions for everything? As with every search problem we can just re-phrase it to make it into a decision problem rather than use a cook reduction.