A predicate is a boolean function whose value may be true or false, depending on the arguments to the predicate.
Example - Consider the following boolean propositions:
A (Adam is tall) B (Beth is tall) C (Carl is tall) : Z (Zeke is tall)We need a different proposition for each person; each of these propositions is either true or false.
We can capture the same set of truth values using a single predicate (or boolean function), Tall(x).
Tall(x) is true whenever person x is tall, and is false otherwise.
Predicates are atomic operands in the logical expressions of predicate logic.
All we want to know about a given proposition A (Adam is tall) is whether A is true or false.
Given a predicate such as Tall(x), we want to know whether Tall(x) is true for different values of x.
In addition, we might like to know whether Tall(x) is true for every possible value of x, or whether Tall(x) is true for some value of x.
Predicate logic has two additional operators not found in propositional logic (called quantifiers) to express these truth values about predicates.