Normalisation by Evaluation for System F using Staged Outermost Reduction

Abstract

We give a strikingly simple presentation of Normalisation by Evaluation (NbE) for System F. It is formulated using straightforward type theory in the form of System F, a purpose-defined two-level version of System F. One level of System F contains copies of all the System F terms while the other level contains copies of all the long β(η)-normal forms of System F. Overlap is allowed only at variable type. We derive the NbE algorithm as the canonical coercers of terms between the levels in System F, up-to outermost-only β-normalisation (a.k.a. evaluation) in just the one level. In doing so, we prove the NbE algorithm correct: for any System F term, NbE computes its long β(η)-normal form.

3 Figures and Tables

Cite this paper

@inproceedings{Vestergaard2000NormalisationBE, title={Normalisation by Evaluation for System F using Staged Outermost Reduction}, author={Ren{\'e} Vestergaard}, year={2000} }