English

Normalization by Evaluation in the Delay Monad: A Case Study for Coinduction via Copatterns and Sized Types

Logic in Computer Science 2014-06-10 v1 Programming Languages

Abstract

In this paper, we present an Agda formalization of a normalizer for simply-typed lambda terms. The normalizer consists of two coinductively defined functions in the delay monad: One is a standard evaluator of lambda terms to closures, the other a type-directed reifier from values to eta-long beta-normal forms. Their composition, normalization-by-evaluation, is shown to be a total function a posteriori, using a standard logical-relations argument. The successful formalization serves as a proof-of-concept for coinductive programming and reasoning using sized types and copatterns, a new and presently experimental feature of Agda.

Keywords

Cite

@article{arxiv.1406.2059,
  title  = {Normalization by Evaluation in the Delay Monad: A Case Study for Coinduction via Copatterns and Sized Types},
  author = {Andreas Abel and James Chapman},
  journal= {arXiv preprint arXiv:1406.2059},
  year   = {2014}
}

Comments

In Proceedings MSFP 2014, arXiv:1406.1534

R2 v1 2026-06-22T04:33:39.984Z