Prove that every to $\varphi_n$ equivalent formula in DNF has at least $2^n$ conjunctive clauses

1.5k Views Asked by At

Let $n \in \mathbb{N}$ with $n \ge 1$, let $X_1,\ldots,X_n$ and $Y_1, \ldots, Y_n$ be exactly $2n$ different variables and $$\varphi_n:= \bigwedge_{i=1}^{n} (X_i \vee \neg Y_i)$$

Prove that every to $\varphi_n$ equivalent formula in DNF has at least $2^n$ conjunctive clauses.

So I would try to prove this by contradiction. Let $\psi_n$ be some formula in DNF which is equivalent to $\varphi_n$ that has less than $2^n$ conjunctive clauses. This implies that there is a natural number $x < 2^n$ and $x$ conjunctive clauses $c_1,\ldots,c_x$ such that $\psi_n = c_1 \vee\cdots \vee c_x$.

But now we somehow need to show that at least one of the clauses $c_1,\ldots, c_x$ satisfies at least two different interpretations.

What are these "two different interpretations"? Interpretations that satisfy $\varphi_n$, e.g.

$$\exists i.I(X_i)=I(Y_i)\wedge \forall i.(I(X_i)=1\vee I(Y_i)=0).$$

But I'm not sure how you can get a contradiction from this.. :s

Anyway, I think this is going to be very complicated, maybe there is a better way of proving it? Next thing that came to my mind was proof by induction but no idea how :o

1

There are 1 best solutions below

1
On BEST ANSWER

Your approach is a valid approach, but I don't see how one could finish that argument. So instead, I'll give you my idea.

Let's look at one (satisfiable) clause $c_k$ from the minimal DNF. How many terms can it have?

If it has less than $n$ terms, there is some $i$ for which neither $X_i$ nor $Y_i$ appear in the clause. Then we can chose all other terms $X_j$ and $Y_j$ ($j \neq i$) so that $c_k$ is satisfied. As $c_k$ is satisfied, our whole DNF is satisfied. However, if we chose $I(X_i)=0$ and $I(Y_i)=1$ (which does not affect $c_k$), the CNF formula given initially is false. Therefore our CNF and DNF can't be equivalent if there is a DNF-clause with less than $n$ terms. So we must have at least $n$ terms and in fact, for every $i$ there must be either $X_i$ or $Y_i$ (or their negation) in $c_k$.

Further we must make sure every combination of $X$'s and $\neg Y$'s is represented in some DNF. What I mean by that, is that from $X_1 \wedge X_2 \wedge ... \wedge X_n$ over $X_1 \wedge \neg Y_2 \wedge X_3 \wedge ... \wedge \neg Y_n$ to $Y_1 \wedge Y_2 \wedge ... \wedge Y_n$ every conjunction is included in some DNF-clause. (I hope you know what I mean. I really can't think of any nicer way to put this...). If there was some combination $c_A= A_1 \wedge A_2 \wedge ... \wedge A_n $ where $A_k \in \{X_k, \neg Y_k\}$, we can make this "missing" clause $c_A$ true by using an interpratation which makes all $X_k$ in $c_A$ true and all $Y_k$ in $c_A$ false. As we assumed $c_A$ is not part of any clause, in every clause there is some term in the conjunction of the clause that is not in $c_A$. We interpret those terms that appear in a clause but not in $c_A$ so that the clauses they appear in are false. (*) Then all clauses are false, therefore the DNF is false. However, because $c_A$ is true, for every $i$ from $1$ to $n$ either $X_i$ or $\neg Y_i$ is satisfied. Therefore each clause of the CNF is satisfied, so the whole CNF is satisfied.

So how many combinations are there? Well, there are $n$ CNF clauses and from each CNF clause we have $2$ choices. Either include $X_i$ or $\neg Y_i$. That makes a total of $2^n$ clauses for our minimal DNF.


(*) here the argument needs some addition. It could be that one variable appears in two clauses, but once negated and once not negated. My idea was to somehow show that the DNF does not contain $\neg X_i$ or $Y_i$, but I couldn't find a complete proof. My idea was that if we had a DNF clause containing $\neg X_i$, that clause may only be true if there's also $\neg Y_i$ in that clause as otherwise $I(X_i)=0, \; I(Y_i)=1$ would satisfy the DNF but not the CNF. Assuming this DNF is equivalent to the CNF, the DNF and CNF are satisfied when we make that DNF-clause that includes $\neg X_i$ true. We can change $X_i$ to true, then the CNF is still satisfied, but that DNF-clause isn't anymore. As we said they are equivalent tho, there must be some clause which is satisfied with the same interpretations as the DNF-clause we just looked at, except the interpretation of $X_i$ is swapped. So we have two conjunctions connected by disjunction of the form $(\neg X_i \wedge...) \vee (X_i \wedge...)$ and then we could combine them somehow to cancel the $X_i$'s. Maybe someone else can finish this argument properly.


What you should take from this task is NOT how to proof minimality of some CNF or DNF. No one will expect you to do that from the top of your head. In case you're speaking about this task in class, you might notice the proof given is even sloppier than mine because technically you can not make any assumptions about the DNF, which makes the proof seem longer and more complicated than it actually is, so many tutors make those assumptions anyway. So let my point out the core of what you should take from this:

The intuitive way to turn a CNF into a DNF is exactly this "picking" of all term combinations described above. As an example, your task with $n=3$:

$\varphi_n=(X_1 \vee \neg Y_1)\wedge(X_2 \vee \neg Y_2)\wedge(X_3 \vee \neg Y_3)\\ =(X_1 \wedge X_2 \wedge X_3)\vee(X_1 \wedge X_2 \wedge \neg Y_3)\vee(X_1 \wedge \neg Y_2 \wedge X_3)\vee(X_1 \wedge \neg Y_2 \wedge \neg Y_3)\\\vee(\neg Y_1 \wedge X_2 \wedge X_3)\vee(\neg Y_1 \wedge X_2 \wedge \neg Y_3)\vee(\neg Y_1 \wedge \neg Y_2 \wedge X_3)\vee(\neg Y_1 \wedge \neg Y_2 \wedge \neg Y_3)$

Note that each DNF-clause contains exactly one element from each CNF-clause. Intuitively each CNF-clause is a box and the CNF says "Pick one element from the first box (the first element from the first box OR the second element from the first box OR ...) AND one element from the second box AND one from the third AND ..." and the DNF just list all the possibilities "Either we picked (the first element from the first box AND the first from the second AND the first from the third) OR we picked (the the first element from the first box AND the first from the second AND the second from the third) OR...". This has one major disadvantage that you usually want to avoid in computer science: exponential growth. You can easily see that the number of DNF clauses for some CNF with $n$ clauses is $\prod_{i=1}^n |c_i|$, where $|c_i|$ is the number of terms in the $i$-th clause which, if all clauses have the same size, is $|c_i|^n$

What the task now wants to ask is "is there a better (non-exponential) conversion from CNF to DNF?" and the answer is simply no. In fact, you will never do better than with this intuitive approach for general formulas.