Clause | SpringerLink
Skip to main content

A clause is a logical rule in a logic program. Formally, a clause is a disjunction of (possibly negated) literals, such as

$$grandfather(x,y) \vee \neg father(x,z) \vee \neg parent(z,y).$$

In the logic programming language Prolog this clause is written as

grandfather(X,Y) :- father(X,Z),

                           parent(Z,Y).

The part to the left of :- (“if”) is the head of the clause, and the right part is its body. Informally, the clause asserts the truth of the head given the truth of the body. A clause with exactly one literal in the head is called a Horn clause or definite clause; logic programs mostly consist of definite clauses. A clause without a body is also called a fact; a clause without a head is also called a denial, or a query in a proof by refutation. The clause without head or body is called the empty clause: it signifies inconsistency or falsehood and is denoted □ . Given a set of clauses, the resolution inference rule can be used to deduce logical consequences and answer queries (see First-Orde...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

(2011). Clause. In: Sammut, C., Webb, G.I. (eds) Encyclopedia of Machine Learning. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30164-8_116

Download citation

Publish with us

Policies and ethics