EDP Sciences Journals List
Issue RAIRO-Theor. Inf. Appl.
Volume 39, Number 3, July-September 2005
Foundations of Software Science and Computer Structures (FOSSACS'04)
Page(s) 423 - 453
DOI 10.1051/ita:2005026

Theoret. Informatics Appl. 39, 423-453 (2005)
DOI: 10.1051/ita:2005026

Denotational aspects of untyped normalization by evaluation

Andrzej Filinski1 and Henning Korsholm Rohde2

1  DIKU, Department of Computer Science, University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen, Denmark; andrzej@diku.dk
2  BRICS$^\dagger$, Department of Computer Science, University of Aarhus, IT-parken, Aabogade 34, DK-8200 Aarhus N, Denmark; hense@brics.dk $^\dagger$ Basic Research in Computer Science (www.brics.dk), funded by the Danish National Research Foundation.


Abstract
We show that the standard normalization-by-evaluation construction for the simply-typed $\lambda_{\beta\eta}$-calculus has a natural counterpart for the untyped $\lambda_\beta$-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 in normal form and $\beta$-equivalent to the input term); identification ($\beta$-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. Finally, we generalize the construction to produce an infinitary variant of normal forms, namely Böhm trees. We show that the three-part characterization of correctness, as well as the proofs, extend naturally to this generalization.


Mathematics Subject Classification. 03B40, 06B35, 68N18, 68Q55.

Key words: Normalization by evaluation -- untyped $\lambda$-calculus -- denotational semantics -- functional programming -- Böhm trees -- computational adequacy.


© EDP Sciences 2005


What is OpenURL?

The OpenURL standard is a protocol for transmission of metadata describing the resource that you wish to access. An OpenURL link contains article metadata and directs it to the OpenURL server of your choice. The OpenURL server can provide access to the resource and also offer complementary services (specific search engine, export of references...). The OpenURL link can be generated by different means.
  • If your librarian has set up your subscription with an OpenURL resolver, OpenURL links appear automatically on the abstract pages.
  • You can define your own OpenURL resolver with your EDPS Account. In this case your choice will be given priority over that of your library.
  • You can use an add-on for your browser (Firefox or I.E.) to display OpenURL links on a page (see http://www.openly.com/openurlref/). You should disable this module if you wish to use the OpenURL server that you or your library have defined.