Hereditary substitutions for simple types, formalized

  • Authors:
  • Chantal Keller;Thorsten Altenkirch

  • Affiliations:
  • INRIA Saclay - Île-de-France, Palaiseau, France;The University of Nottingham, Nottingham, United Kingdom

  • Venue:
  • Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We analyze a normalization function for the simply typed λ-calculus based on hereditary substitutions, a technique developed by Pfenning et al. The normalizer is implemented in Agda, a total language where all programs terminate. It requires no termination proof since it is structurally recursive which is recognized by Agda's termination checker. Using Agda as an interactive theorem prover we establish that our normalization function precisely identifies Βη-equivalent terms and hence can be used to decide Βη-equality. An interesting feature of this approach is that it is clear from the construction that Βη-equality is primitive recursive.