I think it may help to go to the level of definitions to clear up a few confusions in this discussion. So let me put them here first:
There are two (well-known) equivalent definitions of the complexity class NP. Firstly, it is the class of problems that a Non-deterministic Turing machine (NDTM) can solve in Polynomial time. Secondly, it is the class of problems for which there exists a certificate of polynomial length, i.e. a string of bits of polynomial length given which a deterministic Turing machine (DTM) (called the verifiers) can solve the decision problem in polynomial time.
(Aside: That the two definitions are in fact equivalent can be seen by considering that the number of decisions an NDTM has to make to solve the problem in polynomial time has to be polynomial and thus the writing down those decisions as a string of bits will yield a certificate of polynomial length that helps a DTM to do the same thing in polynomial time. Conversely, an NDTM can just find a certificate by making non-deterministic choices in polynomial time and then run the verifier.)
- Search Problems vs Decision Problems
Indeed, we should have framed it differently. In fact, my post Qustion regarding 10.2 - #4 von rappatoni - Künstliche Intelligenz - FSI Informatik Forum was incorrect in that regard. However, in the amended question you are only supposed to prove that the search problem of finding a DNF equivalent to a given formula \phi is NP-hard. In contrast to that the decision problem would correspond to deciding whether any DNF (formula, string) \psi is in the set of DNFs that are equivalent to \phi. There is an (exponential) algorithm to convert any NDTM solving the decision problem into one for solving the search problem. It looks like this:
Given \phi, a NDTM can find an assignment in polynomial time as SAT is NP-complete (for SAT, the search problem and the decision problem are equivalent. Why? see below). We can then check nondeterministically in polynomial time whether that assignment is equivalent to \phi (as a single conjunction is a DNF). If not we proceed by finding another assignment, and check the resulting disjunction of the first and the second assignment. And so forth (potentially exponentially many times).
Hence it is sufficient to prove that the decision problem is NP-hard and you are done.
(The reason for my mistake is that often in complexity theory the difference between search and decision problems does not matter. Often there exists a polynomial reduction of the search problem to the decision problem or at least a non-deterministic one. If you are supposed to prove that some search problem is say NP-complete, any overhead that is in NP will not matter. Hence if you can prove that the decision problem is NP-hard and there is an NDTM that calls the solver for the decision problem polynomially many times to solve the search problem, then you have proved that the search problem is in the same complexity class as the decision problem. Edit: For SAT an algorithm exists that calls the solver for the decision problem linearly many times (it is a nice exercise to figure it out). Hence for the SAT-problem the difference between decision and search does not matter in terms of complexity).
- [quote]
Additionally, I am not entirely sure we can show that converting formulas to CNFs (or whatever the equivalent decision problem is?), is a member of NP.
[/quote]
Given the above definitions showing that a problem is in NP is usually easy: you just need to find a suitable certificate and mostly it is obvious what that certificate should be (in SAT for example, a satisfying assignment does the trick). In this case however, it is not clear what the certificate should be. One might consider a valid reduction from \phi to \psi but we have no guarantee that this reduction is polynomial in the length of \psi.
Indeed, Fredy is right that this decision problem is not NP-complete. In fact it is at least Co-NP hard. (I found the following proof here: cc.complexity theory - Is DNF-Equivalence Problem $\mathsf{NP\mbox{-Hard}}$? - Theoretical Computer Science Stack Exchange). For consider the special case where \phi is a tautology. For a DNF to be a tautology it’s negation must be unsatisfiable. Negating a DNF yields a CNF. As checking whether a CNF is satisfiable is NP-complete, checking whether a CNF is valid is Co-NP-complete (I won’t go into the definition of Co-NP here but it is usually much „worse“ than NP (although it is not known that NP!=Co-NP). You can see that by considering that to find out whether a formula is valid you have to check all of its possible assignments whereas for satisfiability you only need to find one).
- NP and exponential time
That is not the same assumption. As you can see from the above definitions, NP is not defined in terms of exponential time. As you know, it is not known whether NP-problems can be solved in polynomial time (P=NP?). Less well known it is also not currently known whether all NP-hard problems have at least exponential runtime if P!=NP. Note that sub-exponential != polynomial (sub-exponential meaning "smaller than 2^(n^o(1)). That they do is called the exponential time hypothesis which most complexity theorists believe to be true (although that belief is much weaker than the belief that P!=NP). Proving that a problem is EXPtime hard is usually much harder than proving it is NP-hard (you have to show that there is NO subexponential algorithm).
So in general try to think in terms of NDTMs and certificates when proving that something is in NP and in terms of reductions when proving that something is NP-hard.