Horn clauses
A Horn clause is a logical formula of the form
a_1 \land \dots \land a_n \to b
where the
Horn clauses are traditionally written the other way around, i.e.
b \leftarrow a_1 \land \dots \land a_n
Horn clauses are of central importance in logic programming.
Specific forms
Facts
If
b \leftarrow \top
(where
This is referred to as a fact or ground truth, as it forces
Goals
If
\bot \leftarrow a_1 \land \dots \land a_n
This is referred to as a goal. This is because Horn clauses are usually used with proof systems that are refutation complete, such as resolution. Such systems are able to prove
We can add a goal clause to a set of clauses, and then try to find a proof of
References
-
Horn clauses were introduced by Alfred Horn in a 1951 JSL paper:
@article{horn_1951,
title = {On sentences which are true of direct unions of algebras},
volume = {16},
doi = {10.2307/2268661},
number = {1},
journal = {Journal of Symbolic Logic},
publisher = {Cambridge University Press},
author = {Horn, Alfred},
year = {1951},
pages = {14β21}
}