Abstract
We show that the standard normalization-by-evaluation construction for the simply-typed λ β η -calculus has a natural counterpart for the untyped λ β -calculus, with the central type-indexed logical relation replaced by a “recursively defined” invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computational-adequacy argument for an untyped, call-by-name language to normalization instead of evaluation.
In the untyped setting, not all terms have normal forms, so the normalization function is necessarily partial. We establish its correctness in the senses of soundness (the output term, if any, is β-equivalent to the input term); standardization (β-equivalent terms are mapped to the same result); and completeness (the function is defined for all terms that do have normal forms). We also show how the semantic construction enables a simple yet formal correctness proof for the normalization algorithm, expressed as a functional program in an ML-like call-by-value language.
A version of this article with detailed proofs is available as a technical report [5].
Chapter PDF
Similar content being viewed by others
References
Aehlig, K., Joachimski, F.: Operational aspects of untyped normalization by evaluation. Mathematical Structures in Computer Science (2004) (to appear), available from http://www.mathematik.uni-muenchen.de/~aehlig/pub/03-nbe.ps
Berger, U., Schwichtenberg, H.: An inverse of the evaluation functional for typed λ-calculus. In: Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science, The Netherlands, Amsterdam pp. 203–211(July 1991)
Coquand, T., Dybjer, P.: Intuitionistic model constructions and normalization proofs. Mathematical Structures in Computer Science 7, 75–94 (1997)
Filinski, A.: A semantic account of type-directed partial evaluation. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 378–395. Springer, Heidelberg (1999)
Filinski, A., Rohde, H.K.: A denotational account of untyped normalization by evaluation (extended version). BRICS Report RS-03-40, University of Aarhus, Denmark (December 2003), Available from http://www.brics.dk/RS/03/40/
Pitts, A.M.: Computational adequacy via ‘mixed’ inductive definitions. In: Main, M.G., Melton, A.C., Mislove, M.W., Schmidt, D., Brookes, S.D. (eds.) MFPS 1993. LNCS, vol. 802, pp. 72–82. Springer, Heidelberg (1994)
Pitts, A.M.: Relational properties of domains. Information and Computation 127(2), 66–90 (1996)
Plotkin, G.D.: LCF considered as a programming language. Theoretical Computer Science 5(3), 223–255 (1977)
Shinwell, M.R., Pitts, A.M., Gabbay, M.J.: FreshML: Programming with binders made simple. In: Eighth ACM SIGPLAN International Conference on Functional Programming, pp. 263–274. ACM Press, Uppsala (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Filinski, A., Korsholm Rohde, H. (2004). A Denotational Account of Untyped Normalization by Evaluation. In: Walukiewicz, I. (eds) Foundations of Software Science and Computation Structures. FoSSaCS 2004. Lecture Notes in Computer Science, vol 2987. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24727-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-24727-2_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21298-0
Online ISBN: 978-3-540-24727-2
eBook Packages: Springer Book Archive