[TYPES] normalization and programming languages

Thorsten Altenkirch txa at cs.nott.ac.uk
Wed Nov 16 10:32:09 EST 2005

Gerard Boudol wrote:

>  I think the TYPES list is the relevant one to ask the following
>  question:
>  does anyone know an application, or simply a use, in the area of
>  programming language semantics, of the classical strong normalization
>  result in typed lambda-calculi - for various notions of type? I
>  understand that this result is fundamental for theorem provers, where
>  it ensures the consistency of reasonning, but I don't immediately see
>  a use of it regarding programming languages.

If a program is a solution to a problem than knowing that it terminates 
for any input is an important aspect of it being a solution. Often the 
best way to see that it is terminating is expressing it in a language 
where all programs terminate. The programming language Epigram is an 
example of an experimental language which is intended to be terminating 
(even though not all conditions are enforced in the current version), see
for more information.

Since Epigram has dependent types knowing that all terms are terminating 
has other important consequences, not only do we need it to ensure that 
the type checker terminates (practically not so important) but also that 
we allowed to ignore terms which don't carry any computational 
information at runtime. A typical example for those are proofs of 
equalities which are used for coercions. E.g. if you have a vector of 
length m+n but you need one of length n+m you can coerce on to the other 
using a proof that m+n=n+m but you are only allowed to ignore this proof 
at runtime, if you know that it is terminating.

I guess it depends what you mean by "programming language", those of the 
past or those of the future? And what is the fundamental difference 
between a programming language and a language for theorems, once we have 
understood propositions as types?


This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.

More information about the Types-list mailing list