Skip to main content

Simple Types in Type Theory: Deep and Shallow Encodings

  • Conference paper
Theorem Proving in Higher Order Logics (TPHOLs 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4732))

Included in the following conference series:

Abstract

We present a formal treatment of normalization by evaluation in type theory. The involved semantics of simply-typed λ-calculus is exactly the simply typed fragment of the type theory. This means we have constructed and proved correct a decompilation function which recovers the syntax of a program, provided it belongs to the simply typed fragment. The development runs and is checked in Coq. Possible applications include the formal treatment of languages with binders.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Altenkirch, T., Dybjer, P., Hofmann, M., Scott, P.J.: Normalization by evaluation for typed lambda calculus with coproducts. In: LICS, pp. 303–310 (2001)

    Google Scholar 

  2. Berger, U.: Program extraction from normalization proofs. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 91–106. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  3. Berger, U., Berghofer, S., Letouzey, P., Schwichtenberg, H.: Program extraction from normalization proofs. Studia Logica 82(1), 25–49 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  4. Berger, U., Eberl, M., Schwichtenberg, H.: Normalisation by evaluation. In: Möller, B., Tucker, J.V. (eds.) Prospects for Hardware Foundations. LNCS, vol. 1546, pp. 117–137. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  5. Berger, U., Eberl, M., Schwichtenberg, H.: Term rewriting for normalization by evaluation. Inf. Comput. 183(1), 19–42 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  6. Berger, U., Schwichtenberg, H.: An inverse of the evaluation functional for typed lambda-calculus. In: LICS, pp. 203–211. IEEE Computer Society Press, Los Alamitos (1991)

    Google Scholar 

  7. Capretta, V., Felty, A.: Combining de bruijn indices and higher-order abstract syntax in coq. In: Altenkirch, T., McBride, C. (eds.) Proceedings of TYPES 2006. LNCS, Springer, Heidelberg (2007)

    Google Scholar 

  8. Coquand, C.: From semantics to rules: A machine assisted analysis. In: Meinke, K., Börger, E., Gurevich, Y. (eds.) CSL 1993. LNCS, vol. 832, pp. 91–105. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  9. Coquand, C.: A formalised proof of the soundness and completeness of a simply typed lambda-calculus with explicit substitutions. Higher-Order and Symbolic Computation 15(1), 57–90 (2002)

    Article  MATH  Google Scholar 

  10. Danvy, O., Rhiger, M., Rose, K.H.: Normalization by evaluation with typed abstract syntax. J. Funct. Program. 11(6), 673–680 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  11. Despeyroux, J., Pfenning, F., Schürmann, C.: Primitive recursion for higher-order abstract syntax. In: de Groote, P., Hindley, J.R. (eds.) TLCA 1997. LNCS, vol. 1210, pp. 147–163. Springer, Heidelberg (1997)

    Google Scholar 

  12. Gonthier, G.: A computer-checked proof of the four colour theorem (2005), available on http://research.microsoft.com/~gonthier/

  13. Gonthier, G.: Notations of the four colour theorem proof (2005), available on http://research.microsoft.com/~gonthier/

  14. Krivine, J.-L.: Une preuve formelle et intuitionniste du théorème de complétude de la logique classique. Bulletin of Symbolic Logic 2(4), 405–421 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  15. Pfenning, F., Elliott, C.: Higher-order abstract syntax. In: PLDI, pp. 199–208 (1988)

    Google Scholar 

  16. Schürmann, C., Despeyroux, J., Pfenning, F.: Primitive recursion for higher-order abstract syntax. Theor. Comput. Sci. 266(1-2), 1–57 (2001)

    Article  MATH  Google Scholar 

  17. Stoughton, A.: Substitution revisited. Theor. Comput. Sci. 59, 317–325 (1988)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Klaus Schneider Jens Brandt

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Garillot, F., Werner, B. (2007). Simple Types in Type Theory: Deep and Shallow Encodings. In: Schneider, K., Brandt, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2007. Lecture Notes in Computer Science, vol 4732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74591-4_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74591-4_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74590-7

  • Online ISBN: 978-3-540-74591-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics