# Predicate (mathematical logic)

In mathematical logic, a **predicate** is commonly understood to be a Boolean-valued function *P*: *X*→ {true, false}, called the predicate on *X*. However, predicates have many different uses and interpretations in mathematics and logic, and their precise definition, meaning and use will vary from theory to theory. So, for example, when a theory defines the concept of a relation, then a predicate is simply the characteristic function (otherwise known as the indicator function) of a relation. However, not all theories have relations, or are founded on set theory, and so one must be careful with the proper definition and semantic interpretation of a predicate.

## Simplified overview[edit]

Informally, a predicate is a statement that may be true or false depending on the values of its variables.^{[1]} It can be thought of as an operator or function that returns a value that is either true or false.^{[2]} For example, predicates are sometimes used to indicate set membership: when talking about sets, it is sometimes inconvenient or impossible to describe a set by listing all of its elements. Thus, a predicate *P(x)* will be true or false, depending on whether *x* belongs to a set.

Predicates are also commonly used to talk about the properties of objects, by defining the set of all objects that have some property in common. So, for example, when *P* is a predicate on *X*, one might sometimes say *P* is a property of *X*. Similarly, the notation *P*(*x*) is used to denote a sentence or statement *P* concerning the variable object x. The set defined by *P*(*x*) is written as {*x* | *P*(*x*)}, and is the set of objects for which *P* is true.

For instance, {*x* | *x* is a natural number less than 4} is the set {1,2,3}.

If *t* is an element of the set {*x* | *P*(*x*)}, then the statement *P*(*t*) is *true*.

Here, *P*(*x*) is referred to as the *predicate*, and *x* the *placeholder* of the *proposition*. Sometimes, *P*(*x*) is also called a (template in the role of) propositional function, as each choice of the placeholder *x* produces a proposition.

A simple form of predicate is a Boolean expression, in which case the inputs to the expression are themselves Boolean values, combined using Boolean operations. Similarly, a Boolean expression with inputs predicates is itself a more complex predicate.

## Formal definition[edit]

The precise semantic interpretation of an atomic formula and an atomic sentence will vary from theory to theory.

- In propositional logic, atomic formulas are called propositional variables.
^{[3]}In a sense, these are nullary (i.e. 0-arity) predicates. - In first-order logic, an atomic formula consists of a predicate symbol applied to an appropriate number of terms.
- In set theory, predicates are understood to be characteristic functions or set indicator functions,
*i.e.*functions from a set element to a truth value. Set-builder notation makes use of predicates to define sets. - In autoepistemic logic, which rejects the law of excluded middle, predicates may be true, false, or simply
*unknown*;*i.e.*a given collection of facts may be insufficient to determine the truth or falsehood of a predicate. - In fuzzy logic, predicates are the characteristic functions of a probability distribution. That is, the strict true/false valuation of the predicate is replaced by a quantity interpreted as the degree of truth.

## See also[edit]

- Free variables and bound variables
- Predicate functor logic
- Truthbearer
- Multigrade predicate
- Opaque predicate
- Classifying topos
- binary relation

## References[edit]

**^**Cunningham, Daniel W. (2012).*A Logical Introduction to Proof*. New York: Springer. p. 29. ISBN 9781461436317.**^**Haas, Guy M. "What If? (Predicates)".*Introduction to Computer Programming*. Berkeley Foundation for Opportunities in IT (BFOIT). Retrieved 20 July 2013.**^**Lavrov, Igor Andreevich; Maksimova, Larisa (2003).*Problems in Set Theory, Mathematical Logic, and the Theory of Algorithms*. New York: Springer. p. 52. ISBN 0306477122.