An especially simple class of CNF formulas are those built from Horn clauses. A Horn clause is a clause containing, at most, one positive literal. (A pure Horn clause is a clause containing exactly one positive literal.) Horn clauses form the basis for the computer language Prolog, which allows the programmer to input a set of requirements (specified in formal logic) and to ask the computer to find how to satisfy them all (if possible) - as opposed to the user's having to write out the case analysis.
(a) Using the atomic formulas = "Tweety is a penguin," b = "Opus is a penguin," c = "Phoenix is a penguin," d = "Elvis lives!", express "If Tweety is a penguin and Opus is a penguin, and Phoenix is a penguin, then Elvis lives" as a Horn clause.
(b) Find a set of Horn clauses logically equivalent to (a A b A c d V e (-a V -e)). Find the shortest such set of clauses.
(c) Find all satisfying truth assignments for the following set of Horn clauses: {}
Now, show that the following set of Horn clauses is not satisfiable: