Normalization by Evaluation for λ→2

  • Thorsten Altenkirch
  • Tarmo Uustalu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2998)

Abstract

We show that the set-theoretic semantics of λ→2—simply typed lambda calculus with a boolean type but no type variables—is complete by inverting evaluation using decision trees. This leads to an implementation of normalization by evaluation which is witnessed by the source of part of this paper being a literate Haskell script. We show the correctness of our implementation using logical relations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Altenkirch, T., Dybjer, P., Hofmann, M., Scott, P.: Normalization by evaluation for typed lambda calculus with coproducts. In: Proc. of 16th Annual IEEE Symposium on Logic in Computer Science, pp. 303–310. IEEE CS Press, Los Alamitos (2001)CrossRefGoogle Scholar
  2. 2.
    Altenkirch, T., Hofmann, M., Streicher, T.: Categorical reconstruction of a reduction free normalization proof. In: Johnstone, P.T., Rydeheard, D.E., Pitt, D.H. (eds.) CTCS 1995. LNCS, vol. 953, pp. 182–199. Springer, Heidelberg (1995)Google Scholar
  3. 3.
    Altenkirch, T., Hofmann, M., Streicher, T.: Reduction-free normalisation for a polymorphic system. In: Proc. of 11th Annual IEEE Symposium on Logic in Computer Science, pp. 98–106. IEEE CS Press, Los Alamitos (1996)CrossRefGoogle Scholar
  4. 4.
    Altenkirch, T., Hofmann, M., Streicher, T.: Reduction-free normalisation for system F (1997) (unpublished), available on WWW at http://www.cs.nott.ac.uk/~txa/publ/f97.pdf
  5. 5.
    Balat, V.: Une étude des sommes fortes: isomorphismes et formes normales. PhD thesis, Université Denis Diderot (2002)Google Scholar
  6. 6.
    Berger, U., Schwichtenberg, H.: An inverse of the evaluation functional for typed λ-calculus. In: Proc. of 6th Annual IEEE Symposium on Logic in Computer Science, pp. 202–211. IEEE CS Press, Los Alamitos (1991)Google Scholar
  7. 7.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. on Computers 35(8), 677–691 (1986)MATHCrossRefGoogle Scholar
  8. 8.
    Dougherty, D.J., Subrahmanyam, R.: Equality between functionals in the presence of coproducts. Information and Computation 157(1-2), 52–83 (2000)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Dybjer, P., Filinski, A.: Normalization and partial evaluation. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 137–192. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Ghani, N.: Adjoint Rewriting. PhD thesis, LFCS, Univ. of Edinburgh (1995)Google Scholar
  11. 11.
    Ghani, N.: βη-equality for coproducts. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 171–185. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  12. 12.
    McBride, C., McKinna, J.: The view from the left. To appear in the Journal of Functional Programming, Special Issue: Dependent Type Theory Meets Programming Practice (2004)Google Scholar
  13. 13.
    Plotkin, G.D.: Lambda-definability and logical relations. Memorandum SAI-RM-4, Lab. for Artif. Intell., Univ. of Edinburgh (October 1973)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Thorsten Altenkirch
    • 1
  • Tarmo Uustalu
    • 2
  1. 1.School of Computer Science and ITUniversity of NottinghamNottinghamUnited Kingdom
  2. 2.Institute of CyberneticsTallinn Technical UniversityTallinnEstonia

Personalised recommendations