A Compiled Implementation of Normalization by Evaluation

We present a novel compiled approach to Normalization by Evaluation (NBE) for ML-like languages. It supports efficient normalization of open i¾?-terms w.r.t. β-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.

[1]  Tobias Nipkow,et al.  Flyspeck I: Tame Graphs , 2006, IJCAR.

[2]  Kurt Stenzel,et al.  Structured Specifications and Interactive Proofs with KIV , 1998 .

[3]  Ulrich Berger,et al.  Term rewriting for normalization by evaluation , 2003, Inf. Comput..

[4]  Christian Urban,et al.  Nominal Techniques in Isabelle/HOL , 2005, Journal of Automated Reasoning.

[5]  Georges Gonthier,et al.  Formal Proof—The Four- Color Theorem , 2008 .

[6]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[7]  W. Bibel,et al.  Automated deduction : a basis for applications , 1998 .

[8]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[9]  Bruno Barras Programming and Computing in HOL , 2000, TPHOLs.

[10]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .

[11]  KLAUS AEHLIG,et al.  Operational aspects of untyped Normalisation by Evaluation , 2004, Math. Struct. Comput. Sci..

[12]  Stefan Berghofer,et al.  Theorem Proving in Higher Order Logics --- Emerging Trends Proceedings , 2009 .

[13]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[14]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[15]  Georges Gonthier A computer-checked proof of the Four Colour Theorem , 2005 .

[16]  Helmut Schwichtenberg,et al.  Normalisation by Evaluation , 1998, Prospects for Hardware Foundations.

[17]  Ulrich Berger,et al.  An inverse of the evaluation functional for typed lambda -calculus , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[18]  Bernhard Möller,et al.  Prospects for Hardware Foundations , 2002, Lecture Notes in Computer Science.

[19]  Tobias Nipkow,et al.  Normalization by Evaluation , 2008, Arch. Formal Proofs.

[20]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[21]  Tobias Nipkow,et al.  A Code Generator Framework for Isabelle / HOL , 2007 .

[22]  Olivier Danvy,et al.  Type-directed partial evaluation , 1995, POPL '96.

[23]  Alexander Krauss Partial Recursive Functions in Higher-Order Logic , 2006, IJCAR.

[24]  Graham Steel,et al.  Deduction with XOR Constraints in Security API Modelling , 2005, CADE.

[25]  Olivier Danvy,et al.  Normalization by evaluation with typed abstract syntax , 2001, J. Funct. Program..

[26]  Benjamin Grégoire,et al.  A compiled implementation of strong reduction , 2002, ICFP '02.