Definition
Horn Formula
A Horn formula is a conjunction of Horn clauses.
Simplification
Naturally, Horn formulas can be simplified using unit propagation:
Definition
Link to originalUnit Propagation
Let be a set of clauses. Unit propagation is the repeated application of the following transformation.
If contains a unit clause, that is, a clause consisting of a single literal , then:
The process continues until no unit clause remains. At that point one of three situations holds:
- is empty: every clause was satisfied, so the original set is satisfiable.
- contains the empty clause : a contradiction was derived, so the original set is unsatisfiable.
- contains non-unit clauses only: no further simplification is possible without choosing a literal to branch on.
Intuitively, must be true, so every clause containing is already satisfied and can be discarded, while is false and can be deleted from every clause that contains it.
Tractability
Horn formulas form a sub-class of SAT that is efficiently solvable.