logic computation

Definition

Horn Formula

A Horn formula is a conjunction of Horn clauses.

Simplification

Naturally, Horn formulas can be simplified using unit propagation:

Definition

Unit 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:

  1. Remove from every clause of the form .
  2. Replace in every clause of the form by the clause .

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.

Link to original

Tractability

Horn formulas form a sub-class of SAT that is efficiently solvable.