Big-step normalisation
- 1 March 2009
- journal article
- research article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 19 (3-4) , 311-333
Abstract
Traditionally, decidability of conversion for typed λ-calculi is established by showing that small-step reduction is confluent and strongly normalising. Here we investigate an alternative approach employing a recursively defined normalisation function which we show to be terminating and which reflects and preserves conversion. We apply our approach to the simply typed λ-calculus with explicit substitutions and βη-equality, a system which is not strongly normalising. We also show how the construction can be extended to system T with the usual β-rules for the recursion combinator. Our approach is practical, since it does verify an actual implementation of normalisation which, unlike normalisation by evaluation, is first order. An important feature of our approach is that we are using logical relations to establish equational soundness (identity of normal forms reflects the equational theory), instead of the usual syntactic reasoning using the Church–Rosser property of a term rewriting system.Keywords
This publication has 13 references indexed in Scilit:
- The virtues of eta-expansionJournal of Functional Programming, 2008
- The view from the leftJournal of Functional Programming, 2004
- A Concurrent Logical Framework: The Propositional FragmentLecture Notes in Computer Science, 2004
- Normalization without reducibilityAnnals of Pure and Applied Logic, 2000
- Intuitionistic model constructions and normalization proofsMathematical Structures in Computer Science, 1997
- Syntax and Semantics of Dependent Types1997
- Categorical reconstruction of a reduction free normalization proof1995
- Typed λ-calculi with explicit substitutions may not terminate1995
- βη-Equality for coproducts1995
- An algorithm for testing conversion in type theory1991