From a blog post, about proving that NP total search problems cannot be NP-complete unless NP=co-NP.It's possible to write a convincing proof sketch as follows. Consider what would it would mean if an NP total search problem (like FACTORING) was NP-complete. There should then be a poly-time reduction from (say) SAT to FACTORING. That is, an algorithm $A$ that can solve SAT efficiently, provided that it has access to an efficient solver for FACTORING. Now consider what happens when pass a non-satisfiable formula $\Phi$ to $A$. What you end up concluding is that any run of $A$ must constitute a (short) certificate that $\Phi$ is not satisfiable, implying NP=co-NP. $A$ will process $\Phi$, from time to time constructing instances of FACTORING that it can solve for free. Since every such instance of FACTORING must have a solution, A cannot fail for reasons of presenting the FACTORING oracle with an unsolvable instance, so must run its course. If it ends without finding a satisfying assignment, there isnt one.I don't understand the second paragraph. So we pass a non-satisfiable formula $\Phi$ to the algorithm $A$, which processes $\Phi$ and possibly constructing instances of FACTORING to solve for free. These instances always have a solution. I can understand up to here.So $A$ cannot fail for reasons of presenting the FACTORING oracle with an unsolvable instance. (This seems like an obvious statement -- how is it useful?) From here, why must it be the case that NP=co-NP?
Proof sketch that NP total search problems cannot be NP-complete
complexity theory;np complete;search problem