# 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

Tags:

Updated: