Lecture 4: Models
Teacher: Bruno Barras
The soundness statement involves 3 formalisms: domain, codomain, and the formalism in which the proof of soundness has been done (usually: primitive recursive arithmetic)
Soundness is used to prove:
- Consistency of $A$ (w.r.t $Γ$): $Γ A\not⊢ ⊥$
- Independence of $A$ (w.r.t. $Γ$): $Γ \not⊢ A$
Different kinds of models:
- Set-theoretical: for everyday mathematics, to convince set theorists that our theory is consistent (and see type theory set-theoretically)
- Groupoid model (Hofman-Streicher, 95): types interpreted by groupoids ⟹ from that: Homotopy Type Theory (effective to check theorem of homotopy theory)
- Strong normalisation models (realisability): all the typable terms are strongly normalising (idea: interpret types and proofs by programs that strongly normalise)
Set theoretical model
-
Dependent product, $λ$-abstractions interpreted by their counterparts in set theory (set of functions depending on their argument and one function respectively)
-
Application correspond to function application
-
$Prop$ interpreted as $𝒫(∅)$ ($≅ \lbrace 0, 1 \rbrace$ classically, but contains intermediate sets as well in intuitionistic logic)
- Problem: $A ⇒ A$ is function between booleans if $A$ is a proposition, but is a boolean as well: everything is collapsed to the empty set. Peter Aczel function encoding: instead of couples $(x, f(x))$ ⟶ $(x,y) \quad y ∈ f(x)$, so a function $x ⟼ ∅$ is interpreted as $∅$
-
$Type_i$ interpreted as $U_i$, in a Grothendieck universe
-
Inductive types interpreted by least fixed points (only strictly positive occurrences allowed)
Incomplete model: because all of these are not provable:
- consistency of Classical logic
- Choice axioms
- Functional extensionality
- Propositional extensionality
But it also means that we can add them to type theory without breaking consistency
Realizability
What enable us to show that intuitionistic type theory is constructive: we can extract programs/objects satisfying the property from proofs.
Double negation translation:
\[⊢_{\text{classic}} A ⟺ ¬¬A \qquad\text{ and } \qquad ⊢_{\text{classic}} A \text{ implies } ⊢_{\text{intuit.}} ¬¬A\]Normalizing an existential/disjunction proof ⟹ extraction: you get a witness
Leave a comment