Semantic Analysis of Normalisation by Evaluation for Typed Lambda Calculus
Abstract
This paper studies normalisation by evaluation for typed lambda calculus from a categorical and algebraic viewpoint. The first part of the paper analyses the lambda definability result of Jung and Tiuryn via Kripke logical relations and shows how it can be adapted to unify definability and normalisation, yielding an extensional normalisation result. In the second part of the paper the analysis is refined further by considering intensional Kripke relations (in the form of Artin glueing) and shown to provide a function for normalising terms, casting normalisation by evaluation in the context of categorical glueing. The technical development includes an algebraic treatment of the syntax and semantics of the typed lambda calculus that allows the definition of the normalisation function to be given within a simply typed metatheory. A normalisation-by-evaluation program in a dependently-typed functional programming language is synthesised.
Keywords
Cite
@article{arxiv.2207.08777,
title = {Semantic Analysis of Normalisation by Evaluation for Typed Lambda Calculus},
author = {Marcelo Fiore},
journal= {arXiv preprint arXiv:2207.08777},
year = {2022}
}
Comments
This is a slight revision, with an implementation, of the full version, with proofs, of February 2003 for the extended abstract with the same title published in the Proceedings of the 4th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP) in October 2002