A predicate is a logical function that can take in zero or more terms (called the subjects) and outputs truth values (true or false). However, a key distinction between predicates and propositions is that predicates (that have at least one subject) do not have a truth value until their variables have been specified.
A predicate can be considered an -ary (n=1: unary, n=2: binary, etc.) function for that takes in terms. A 0-ary predicate degenerates into a proposition (since a proposition returns truth values with no inputs).
A predicate that does not contain any sub-predicates is considered an atomic formula.#todo extend Atom definition to include this!
Definition
#todo function that takes in terms and returns truth values.
Truth (Atomic Predicate) ^definition-truth
The truth of an atomic predicate (a predicate having no sub-predicates), in a model, (having an interpretation, and universe, ) with a variable assignment is defined as:
- is the term under an extended variable assignment
- is the interpretation of the predicate , and is a set of elements that make true
Examples
- : is an animal
- : is greater than 3
Predicates are conventionally notated with a capital letter, .
Once a variable has been defined, the predicate becomes a proposition:
- Dog is an animal (True or False)
- is greater than 3 (True or False)
- etc.