While it is easy (if time consuming) to generate a DNF formula from a
truth table, this transformation is often expensive. The construction
for DNFs uses a sub-term for every assignment with output true. This
can be very inefficient - a function with
inputs which simply
outputs the first input would have
sub-terms when a single
variable suffices for the formula. For example,
Minimization of CNF formulas will not be discussed, but the same ideas are applied in essentially the same manner.