Exercises 2: Termination of $β$-reduction and Simple Type Theory
Teacher: Gilles Dowek
Ex1: ST $λ$-calculus: termination of $β$-reduction
1.
\[(λx^A.t) u ⟶ (u/x)t\]- One-step $β$-reduction:
-
$u ⟶_β v$ iff there exists context $C$ such that $u = C[(λx.t)u’]$ and $v = C[(u’/x)t]$
- Termination of $β$-reduction:
-
if the rewriting system over ST $λ$-terms comprised of the $β$-reduction rule is weakly normalizing (for every ST $λ$-term $u$, there exists there exists a finite reduction sequence from $u$ to a normal form).
- Strong termination of $β$-reduction:
-
if the rewriting system over ST $λ$-terms comprised of the $β$-reduction rule is strongly normalizing (for every ST $λ$-term $u$, all reduction sequences from $u$ are finite).
2.
This proof is wrong because the application $(t \, u)$ creates a new $β$-redex if $t$ is a $λ$-abstraction (counter-example: in untyped $λ$-calculus: set $t = u ≝ λx.(xx)$)
3.
Let $x$ be a variable or a constant. By case analysis over $A$, let us show that \(∀A, \, x ∈ R_A\)
-
if $A ∈ \lbrace ι, o\rbrace$: $x ∈ R_A$ is clear as $x$ is a normal form.
-
if $A ≝ B → C$: $x ∈ R_A$ because
- it strongly terminates
- it does not reduce to a term of the form $λx^B.u$
4.
Let $t ∈ R_A$ and $t ⟶^\ast t’$. Let’s show that $t’ ∈ R_A$ by case analysis over $A$:
-
if $A ∈ \lbrace ι, o\rbrace$: $t ∈ R_A$ is clear as $t’$ strongly terminates, since $t$ does (if they were an infinite reduction sequence from $t’ ⟶ ⋯$, then $t ⟶^\ast t ⟶ ⋯$ would be an infinite reduction from $t$ as well)
-
if $A ≝ B → C$: $t’ ∈ R_A$ because
- it strongly terminates
- if $t’$ reduces to an abstraction $λx^B.u$, then so does $t$, and as $t ∈ R_A$: for every term $v ∈ R_B$, $(v/x)u ∈ R_C$
5.
- $t$ strongly terminates: $t ⟶ t’ ⟶ ⋯$ impossible, as $t’ ∈ R_A$
- if $A ∈ \lbrace ι, o\rbrace$: $t ∈ R_A$ by the previous point
- if $A ≝ B → C$: assume $t ⟶^\ast λx^B.u$. As $t$ is an application, it’s not an abstraction, and this reduction sequence has at least one step: $t ⟶ t’ ⟶^\ast λx^B.u$, and as $t’ ∈ R_A$ by the previous lemma, we’re done.
6.
$t_1$ and $t_2$ strongly terminate by definition of $R_{A → B}$ and $R_A$
NB: the reduction tree of $t_1$ is a finitely branching one, so by König’s lemma, $n_1$ and $n_2$ are well-defined.
Using the previous question, it suffices to show that all the one reducts from $t_1 \, t_2$ are in $R_B$.
By induction on $n_1+n_2$:
-
if $n_1 + n_2 = 0$: then see last point
- $t_1 \, t_2 ⟶ t_1’ \, t_2$: IH
- $t_1 \, t_2 ⟶ t_1 \, t_2’$: IH
- $(λx^A.t) \, t_2 ⟶ (t_2/x) t$: since $(λx^A.t) ∈ R_{A → B}$ and $t_2 ∈ R_B$, it comes that $(t_2/x)t ∈ R_B$
Leave a comment