In the simply-typed lambda-calculus, a hereditary substitution replaces a free variable in a normal form r by another normal form s of type a , removing freshly created redexes on the fly. It can be defined by lexicographic induction on a and r , thus, giving rise to a structurally recursive normalizer for the simply-typed lambda-calculus. We generalize this scheme to simultaneous substitutions, preserving its simple termination argument. We further implement hereditary simultaneous substitutions in a functional programming language with sized heterogeneous inductive types, F ŵ , arriving at an interpreter whose termination can be tracked by the type system of its host programming language.
Content
Author and article information
Contributors
Andreas Abel
Conference
Publication date:
July
2006
Publication date
(Print):
July
2006
Pages: 1-12
Affiliations
[0001]Institut für Informatik, Ludwig-Maximilians-Universität München
Oettingenstr. 67, D-80538 München, Germany