language-icon Old Web
English
Sign In

Horn clause

In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form which gives it useful properties for use in logic programming, formal specification, and model theory. Horn clauses are named for the logician Alfred Horn, who first pointed out their significance in 1951. In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form which gives it useful properties for use in logic programming, formal specification, and model theory. Horn clauses are named for the logician Alfred Horn, who first pointed out their significance in 1951. A Horn clause is a clause (a disjunction of literals) with at most one positive, i.e. unnegated, literal. Conversely, a disjunction of literals with at most one negated literal is called a dual-Horn clause. A Horn clause with exactly one positive literal is a definite clause or a strict Horn clause; a definite clause with no negative literals is sometimes called a unit clause, and a unit clause without variables is sometimes called a fact; and a Horn clause without a positive literal is sometimes called a goal clause (note that the empty clause consisting of no literals is a goal clause). These three kinds of Horn clauses are illustrated in the following propositional example: In the non-propositional case, all variables in a clause are implicitly universally quantified with the scope being the entire clause. Thus, for example:

[ "Prolog", "Description logic", "Logic programming", "horn logic", "Signature (logic)", "SLD resolution", "λProlog", "Absys" ]
Parent Topic
Child Topic
    No Parent Topic