CLAUSE (LOGIC)


In logic, a 'clause' is a disjunction of
literals. In propositional logic, clauses
are usually written as follows, where the symbols l_i are
literals:
:l_1 ee cdots ee l_n
In some cases, clauses are written as sets of literals, so that clause above
would be written as {l_1, ldots, l_n}. That this set is to be
interpreted as the disjunction of its elements is then hinted from the
context. A clause can be empty; in this case, it is an empty set of literals.
The empty clause is denoted by various symbols such as empty,
ot, or Box. The truth evaluation of an empty
clause is always false.
In first-order logic, a clause is the universal quantification of all free
variables of a quantifier-free disjunction of literals. Formally, a first-order
literal is formula of the kind of P(t_1,ldots,t_n), where
P is a predicate of arity n and each t_i
is an arbitrary term, possibly containing variables. If
L_1,ldots,L_m are literals, and x_1,ldots,x_k are
their (free) variables, then orall x_1,ldots,x_k .
L_1,ldots,L_m is a clause. First-order clauses are sometimes written
omitting the quantifiers, so that the above clause is written
L_1,ldots,L_m. This omission is justified by the fact that, for
being a clause, a disjunction of literals must have all variables universally
quantified. In case a clause is valid or checked for validity, this universal
quantification is also implicit in the semantics. However, the definition of satisfiability assumes free variables to be existentially quantified, so the omission of quantifier is to be taken as a convention and not as a consequence of how the semantics deal with free variables.
In logic programming, clauses are usually written as the implication of a
head from a body. In the simpest case, the body is a conjunction of literals
while the head is a single literal. More generally, the head may be a
disjunction of literals. If b_1,ldots,b_m are the literals in the
body of a clause and h_1,ldots,h_n those of its head, the clause
is usually written:
:h_1,ldots,h_n :- b_1,ldots,b_m
In computer programming, a clause is a series of statements executed upon the evaluation of a conditional expression. A condition may not always be explicitly applied to a clause; these are usually called ''non-conditional'', ''main'', or ''functional'' clauses. A clause may also be referenced by the structure of the conditional expression, for example ''I am inserting a case-clause where $type is equal to 'auto'.'' ''Modifications are necessary to the if-then clause where the ninth subscript of $array ($array[9]) is equal to 'Sam'.''

Contents
See also

See also



Conjunctive normal form

Horn clause

Clause logic related terminolgy

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves