Clause (logic)


In logic, a clause is an expression formed from a finite collection of literals. A clause is true either whenever at least one of the literals that form it is true, or when all of the literals that form it are true. That is, it is a finite disjunction or conjunction of literals, depending on the context. Clauses are usually written as follows, where the symbols are literals:

Empty clauses

A clause can be empty.
The empty clause is denoted by various symbols such as,
, or. The truth evaluation of an empty disjunctive
clause is always. This is justified by considering that is the neutral element of the monoid.
The truth evaluation of an empty conjunctive clause is always. This is related to the concept of a vacuous truth.

Implicative form

Every nonempty clause is logically equivalent to an implication of a head from a body, where the head is an arbitrary literal of the clause and the body is the conjunction of the negations of the other literals. That is, if a truth assignment causes a clause to be true, and none of the literals of the body satisfy the clause, then the head must also be true.
This equivalence is commonly used in logic programming, where clauses are usually written as an implication in this form. More generally, the head may be a disjunction of literals. If are the literals in the body of a clause and are those of its head, the clause is usually written as follows: