There seems to be huge amount of discussion about converting "first order logic to CNF".
But don't see much about "first order logic to DNF" conversion. What is the reason?
There seems to be huge amount of discussion about converting "first order logic to CNF".
But don't see much about "first order logic to DNF" conversion. What is the reason?
Copyright © 2021 JogjaFile Inc.
Both have their uses, and neither easier to convert to. DNF gives you the truth table of a formula: it shows you exactly which assignments of truth values to atomic formulas make the entire formula true. Converting a formula to CNF, and converting to DNF, are both NP-hard.
One reason why CNF gets more attention: the method of resolution, used in automated theorem-provers, requires conversion to CNF. Another: in complexity theory, one of the most famous and earliest NP-complete problems, 3-SAT, involves satisfiability of CNF formulas with at most 3 variables per clause. The dual problem of the validity of a formula, for which DNF is arguably better suited, clearly involves all assignments, and is co-NP-complete.