[TYPES] Strong Normalization for Dependent Typed Calculus

Anitha Gollamudi anitha.gollamudi at gmail.com
Thu May 13 00:07:38 EDT 2021


Hi,

Looking for some help in understanding the strong normalization (SN) proofs
for LF.

Chapter 13 from the book "Lectures on Curry-Howard Isomorphism" by Sorensen
and Urzyczyn, translates LF (actually \lambda P) to STLC using contracting
maps. I am trying to understand the invariant(s) of the translation.

The first attempt at translation (Definition 13.3.1 on p.334)  uses a
contracting map, b,  that is not strong enough to prove SN. Even then, I am
puzzled by the definition for the case of the constructor variable \alpha
(shown below)

b(\alpa) = p_\alpha

where \alpha is a constructor variable and p_\alpha is a fresh
propositional variable.

However, the translation of the typing context uses a different definition
for translating \alpha.

b(\G) = {x_\alpha : b(k) | (\alpha : k) \in \G  } \cup ...

where x_\alpha is a fresh term variable.

The discrepancy between type and typing context translation  threw me off a
bit for a few  reasons.

1. p_\alpha is a type variable; clearly STLC has no type variables. So, the
translated type does not belong to STLC types.
2. Related to the above point. How to translate a term (x: \alpha) under \G
that has a suitable kind for \alpha?
3. The translation of \G introduces fresh variables x_\alpha that are not
used in the translated terms. So why bother?

Appreciate any pointer/explanation.

Best
Anitha


More information about the Types-list mailing list