In logic, a **predicate**, also known as a **boolean-valued function**, is a function: *P: X→B*. They serve an important part of Predicate logic. Where, X is an arbitrary set and B is a Boolean domain. P is usually interpreted to mean a property (including a category, grammatical predicate, relation, a predicate symbol, etc) of an element in set X. B is the set of "true" and "false". It is also expressed as P(x). If P (the predicate) is a property of x, then the predicate is true. If it is not a property, the predicate is false. The set of all elements for which a predicate is true is:

A Boolean-valued function is notated as so:

and

Where X is the set of discourse, and B is a boolean set.