Predicate Calculus (First-order Logic)
Propositional logic does not allow any reasoning based on general rules,
so its usefulness is limited. Predicate calculus generalizes propositional
logic with variables, quantifiers, and functions.
Formulas are constructed from:
- Predicates have arguments, which are terms: P(x, f(a)).
Predicates are true or false.
- Terms refer to objects in the application domain:
- Variables: x, y, z
- Constants: John, Mary, 3, a, b. Note that a constant is
generally capitalized in English: Austin can be a constant,
but dog cannot.
- Functions: f(x) whose arguments are terms.
- Quantifiers: &forall (``for all'') and &exist (``there exists''
or ``for some'') quantify variables: &forall x, &exist y.
If a variable is in the scope of a quantifier, it is bound;
otherwise, it is free.