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: $ \{x|p(x)\} $

A Boolean-valued function is notated as so: $ P:X \rightarrow B $

and

$ P(x) $

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