Lecture 4: Simple Type Theory

Teacher: Gilles Dowek

Reminder: relation

∃R \, ∀x, z. (x, z ∈_2 R ⟺ ∃ y \, (x = z × y))
∃R; \, ε(\underbrace{R}_{\rlap{\text{propositional content of the prop. on the right}}}) ⟺ ∀x,y,z,n. \, (⋯)

Recall that you don’t sets if you have functions: you can use characteristic functions:

Example:

f: \begin{cases} 4 &⟼ 4 \text{ is even} \\ 7 &⟼ 7 \text{ is even} \end{cases}

then:

⊢ ε(f \, 4) \qquad (4 ∈ f)\\ ⊢ ¬ ε(f \, 7)

Simple Type Theory

  • you have an infinite number of sorts:

    • $ι$: base objects
    • $o$: propositional contents (what you get by applying a predicate to a term)
    • $A → B$: functions from A to B
  • for each pair $A,B$, application: $α_{A,B}$ of arity $⟨A → B,A,B⟩$
  • a predicate symbol (the only one) $ε$ of arity $⟨o⟩$:
  • for each $t$, $x_1,…,x_n ⟼ t$
  • for each $A$, ${x_1,…,x_n \; \mid \; A}$

But sufficient: combinators:

x^A ⟼ x: A → A\\ K_{A, B} ≝ x^A, y^B ⟼ x: A → (B → A)\\ S_{A,B,C} ≝ x,y,z ⟼ (x \, z) (y \, z): (A → B → C) → (A → B) → A → C

and then we will have axioms expressing

α(x ↦ x, a) = a\\ α(α(x,y ↦ x, a),b) = a\\

Similarly:

\lbrace x \; \mid \; ∃ y \, ( x = 2 × y)\rbrace\\ \dot{∧} = \lbrace x,y \; \mid \; ε(x) ∧ ε(y)\rbrace

and then:

ε(αα(\dot{∧},a),b) ⟺ ε(x) ∧ ε(y)
  • proposition: the sky is blue
  • propositional content: that the sky is blue
  • $ε$: it_is_true(that the sky is blue)

∀ P, \, (P ⇒ P)\\ ∀ p \, (ε(p) ⇒ ε(p))
  • season(spring)
  • color (4 of them)
  • you can’t build the proposition: as_many(color, season) because you can’t apply predicates to predicates

To avoid binding symbols: you replace them by an operator without bound variables applied to a function: higher-order abstract syntax

\dot{∀}_A = \lbrace f \; \mid \; ∀x^A\, ε(\underbrace{f \, x}_{A → o})\rbrace: (A → o) → o
ε(\dot{∀}_A \, f) ⟶ ∀x\, ε(f \, x)

Term $t$, there exists $u$ st

(u \, y) ⟶^\ast t
  • $t=y$: by setting $u$ to be identity: $I ≝ S \, K \, K$

  • $t=x$, $x≠y$ OR $t = c$

    u y ⟶^\ast t

    by setting $u ≝ K \, x$ or $u ≝ K \, c$

  • $t= α(t_1 t_2) = (t_1 \, t_2)$:

    By IH: $u_1 \, y ⟶^\ast t_1$, $u_2 \, y ⟶^\ast t_2$:

    \underbrace{S \, u_1 \, u_2}_{≝ \, u} y ⟶ (u_1 \, y) (u_2 \, y) ⟶^\ast (t_1 \, t_2) = t

Proposition $A$: there exists $u$ such that

ε(u) ⟶^\ast A

By induction on $A$. For example: $A ≝ A_1 ∧ A_2$. By IH: $ε(a_1) ⟶ A_1$, $ε(a_2) ⟶ A_2$:

ε(\dot{∧} \, a_1 \, a_2) ⟶ ε(a_1) ∧ ε(a_2)

If $A = ε(t)$, it’s even simpler.

What’s the point? Comprehension: ex:

A ≝ ∃y \, (x = 2 × y)\\ ε(a) ⟶^\ast A\\ b \, x ⟶^\ast a\\ ε(b \, x) ⟶^\ast ε (a) ⟶^\ast A

so (comprehension):

∃b ; \; (ε(b \, x) ⟺ A)

Impredicative quantification:

∀p \, (ε(p) ⇒ ε(p))

At first: was avoided by Russel (to avoid paradoxes like Russel’s), but his student Ramsy reintroduced it later. Martin-Löf Type Theory: predicative, on the other hand (people in Sweden at Chalmers are very reluctant to use impredicativity).

Models

All reduction rules of Simple type theory are valid in a $\lbrace 0, 1\rbrace$-valued model:

\underbrace{⟦ε(\dot{⊤})⟧}_{= \hat{ε} \hat{\dot{⊤}} = id(\tilde{⊤}) = 1} = \underbrace{⟦⊤⟧}_{\tilde{⊤} = 1}

Mathematical theories

x=y ⟶ \dot{∀}_{ι → o} (\overline{λ} c((c \, x) \dot{⇒} (c \, y)))

So:

ε(x=y) ⟶^\ast ∀c \, (ε (c \, x) ⇒ ε (c \, y))

NB: the class $c$ is of type $ι → o$

Natural numbers:

  • Peano: axioms
  • Cantor: 3 = the set of all sets of cardinal 3

    • modern logic (due to Frege) was invented to build Cantor numbers
  • Church: Church numerals
  • Von Neumann: 3 = the set $\lbrace ∅, \lbrace ∅ \rbrace, \lbrace ∅, \lbrace ∅ \rbrace\rbrace\rbrace$

Church (40’s) ⟶ his student: Henkin (50’s)

Leave a comment