## Predicates

A predicate is a boolean function whose value may be true or false, depending on the arguments to the predicate.

• Predicates are a generalization of propositional variables.

• A propositional variable is a predicate with no arguments.

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.

• Tall(Adam) is true if proposition A above is true.
• Tall(Beth) is true if proposition B above is true.
• Tall(Carl) is true if proposition C above is true.

Predicates are atomic operands in the logical expressions of predicate logic.

## Quantifiers

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.

• Existential quantifier E (there exists): (E x) Tall(x) is true if there exists some value for x such that Tall(x) is true.

• Universal quantifier A (for all): (A x) Tall(x) is true if Tall(x) is true for all values of x.