Definition
Predicate calculus is a family of formal system extending propositional logic to include quantifiers, variables, and predicates. It distinguishes between objects (terms) and properties of objects (formulas).
First-order logic restricts the predicates to only predicates over terms. Second-order logic adds in predicate variables, and enables quantification over these varibles. Higher-order logic adds in predicates over predicates as well as terms.
Semantics
Semantics are defined via Tarski’s definition of truth relative to a structure .
- is a non-empty domain (universe).
- interprets -ary function symbols as functions and -ary relation symbols as subsets of .
Satisfaction
Let be a variable assignment. The satisfaction relation is defined inductively.
Metatheoretic Properties
- Soundness: If , then .
- Completeness (Logic) (Gödel): If , then .
- Compactness: A set of sentences is satisfiable iff every finite subset is satisfiable.
- Löwenheim-Skolem: If a countable theory has an infinite model, it has models of all infinite cardinalities.
- Incompleteness (Gödel): Any sufficiently strong consistent effective theory containing arithmetic is incomplete.
- Undecidability (Church-Turing): The decision problem for validity is undecidable (semidecidable).
Relation to Type Theory
In the context of the Curry-Howard Correspondance:
- Universal quantification corresponds to the dependent product type .
- Existential quantification corresponds to the dependent sum type (specifically the propositional truncation thereof in HoTT to ensure proof irrelevance).
- Predicates are modeled as type families .