For CNF and DNF why do we look at the interpretations that make the formula false and true respectively?

409 Views Asked by At

Okay so I know how to obtain CNF and DNF from a truth table but I do not understand why. For example, for the formula $$P ⟺ Q$$

We are trying to convert the formula P ⟺ Q to an equivalent formula in CNF and DNF. But why do we only look at the cases that make the formula true in DNF and the cases that make the formula false in CNF? Why do we not look at all the interpretations for both CNF and DNF? For example, for DNF why can we not look at the interpretations that makes the formula false?

Secondly, why do we need a truth table to find an equivalent formula to say P ⟺ Q in CNF and DNF?

1

There are 1 best solutions below

1
On BEST ANSWER
  1. In a logical formula, the variables (the inputs) might be intertwined in complicated ways. But if the formula is in CNF or DNF, the variables are more separated so that it's easier to see when the expression is satisfied. A formula in CNF is just a checklist, it's a list of conditions (the clauses) that must all be satisfied for the formula to be true. To check if it's true, you just go through the clauses one at a time, checking each one. DNF is similar: go through the clauses one at a time, and stop when you find one that is true.

    • When converting to DNF, why do we look at the true values of the formula? Because those are the items on the checklist! If the formula is true in case A or case B or case C, then we write it as $A\lor B\lor C$, where each of $A,B,C$ is a checklist item. CNF is just the opposite, based on de Morgan's laws.
  2. We don't have to start from a truth table. Construction of normal forms can be done formally, by manipulating the expressions. The truth table is just a convenience, and depending on the original expression, it might be more or less convenient.

  3. Your implied question “I do not understand why [to obtain CNF or DNF]”. The reason is: because formulas in normal form are in a standard form, they can be easier to reason about. Suppose you want to prove that something is true about every possible formula, or you want to develop an algorithm that does something with a formula, and which works for any possible formula. It can be convenient to begin by saying:

    Assume that the formula is in CNF; if it isn't, begin by using the standard and well-known algorithm for normalizing it.

    Then the rest of your algorithm or proof can be simple, because you only has to deal with one type of formula.