Skip to main content Accessibility help
×
Home

A compiled implementation of normalisation by evaluation*

  • KLAUS AEHLIG (a1), FLORIAN HAFTMANN (a2) and TOBIAS NIPKOW (a2)

Abstract

We present a novel compiled approach to Normalisation by Evaluation (NBE) for ML-like languages. It supports efficient normalisation of open λ-terms with respect to β-reduction and rewrite rules. We have implemented NBE and show both a detailed formal model of our implementation and its verification in Isabelle. Finally we discuss how NBE is turned into a proof rule in Isabelle.

Copyright

References

Hide All
Aehlig, K. & Joachimski, F. (2004) Operational aspects of untyped normalization by evaluation. Math. Struct. Comput. Sci. 14 (4), 587611.
Aehlig, K., Haftmann, F. & Nipkow, T. (2008) A compiled implementation of normalization by evaluation. In Theorem Proving in Higher Order Logics (TPHOLs 2008), Mohamed, O.A., Muñoz, C., & Tahar, S. (eds), Lecture Notes in Computer Science, vol. 5170. Springer Verlag, pp. 3954.
Barras, B. (2000) Programming and computing in HOL. In Theorem Proving in Higher Order Logics (TPHOLs 2000), Aagaard, M. & Harrison, J. (eds), Lecture Notes in Computer Science, vol. 1869. Springer Verlag, pp. 1737.
Berger, U., Eberl, M. & Schwichtenberg, H. (2003) Term rewriting for normalization by evaluation. Inf. Comput. 183, 1942.
Berger, U. & Schwichtenberg, H. (1991) An inverse of the evaluation functional for typed λ–calculus. In Proceedings of The Sixth IEEE Symposium on Logic in Computer Science, LICS 1991, Vemuri, R. (ed), pp. 203–211.
Berger, U., Eberl, M. & Schwichtenberg, H. (1998) Normalization by evaluation. In Prospects for Hardware Foundations, Möller, B. & Tucker, J.V. (eds), Lecture Notes in Computer Science, vol. 1546. Springer Verlag, pp. 117137.
Boespflug, M. (2010) Conversion by evaluation. In Proceedings of the Twelfth International Symposium on Pracical Aspects of Declarative Languages (PADL '10), Carro, M. & Peña, R. (eds), Lecture Notes in Computer Science, vol. 5937. Springer Verlag, pp. 5872.
Bruijn, N. G. de. (1972) Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem. Indagationes Math. 34, 381392.
Danvy, O. (1996) Type-directed partial evaluation. In Proceedings of the Twenty-third ACM Symposium on Priciples of Programming Languages (POPL 1996), pp. 242–257.
Gonthier, G. (2008) Formal proof–-the four-color theorem. Not. AMS. 55, 13821393.
Gordon, M. J. C. & Melham, T. F. (eds). (1993) Introduction to HOL: A Theorem-Proving Environment for Higher Order Logic. Cambridge University Press.
Grégoire, B. & Leroy, X. (2002) A compiled implementation of strong reduction. In International Conference on Functional Programming (ICFP 2002). ACM Press, pp. 235246.
Haftmann, F. & Nipkow, T. (2010) Code generation via higher-order rewrite systems. In Functional and Logic Programming, FLOPS 2010, Blume, M., Kobayashi, N. & Vidal, G. (eds), Lecture Notes in Computer Science, vol. 6009. Springer Verlag, pp. 103117.
Krauss, A. (2006) Partial recursive functions in higher-order logic. In Automated Reasoning (IJCAR 2006), Furbach, U. & Shankar, N. (eds), Lecture Notes in Computer Science, vol. 4130. Springer Verlag, pp. 589603.
Nipkow, T., Paulson, L., & Wenzel, M. (2002) Isabelle/HOL –-A Proof Assistant for Higher-Order Logic, Lecture Notes in Computer Science, vol. 2283. Springer Verlag.
Nipkow, T., Bauer, G., & Schultz, P. (2006) Flyspeck I: Tame graphs. In Automated Reasoning (IJCAR 2006), Furbach, U. & Shankar, N. (eds), Lecture Notes in Computer Science, vol. 4130. Springer Verlag, pp. 2135.
Reif, W., Schellhorn, G., Stenzel, K., & Balser, M. (1998) Structured specifications and interactive proofs with KIV. In Automated Deduction–-A Basis for Applications, Bibel, W., & Schmitt, P. (eds), Systems and Implementation Techniques, vol. II. Kluwer, pp. 1339.

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

A compiled implementation of normalisation by evaluation*

  • KLAUS AEHLIG (a1), FLORIAN HAFTMANN (a2) and TOBIAS NIPKOW (a2)
Submit a response

Discussions

No Discussions have been published for this article.

×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *