Skip to main content

Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions

  • Conference paper
  • First Online:
Interactive Theorem Proving (ITP 2015)

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

Included in the following conference series:

Abstract

Reasoning about syntax with binders plays an essential role in the formalization of the metatheory of programming languages. While the intricacies of binders can be ignored in paper proofs, formalizations involving binders tend to be heavyweight. We present a discipline for syntax with binders based on de Bruijn terms and parallel substitutions, with a decision procedure covering all assumption-free equational substitution lemmas. The approach is implemented in the Coq library Autosubst, which additionally derives substitution operations and proofs of substitution lemmas for custom term types. We demonstrate the effectiveness of the approach with several case studies, including part A of the POPLmark challenge.

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 EPUB and 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

Notes

  1. 1.

    There are a large number of details which are swept under the carpet in this short overview. The formalization tells the whole story.

  2. 2.

    http://www.seas.upenn.edu/~plclub/poplmark/leroy.html.

  3. 3.

    http://www.chargueraud.org/softs/ln/.

  4. 4.

    http://www.seas.upenn.edu/~plclub/poplmark/vouillon.html.

  5. 5.

    http://www.cis.upenn.edu/~sweirich/papers/lngen/.

References

  1. Abadi, M., Cardelli, L., Curien, P.L., Lévy, J.J.: Explicit substitutions. J. Funct. Program. 1(4), 375–416 (1991)

    Article  MATH  Google Scholar 

  2. Adams, R.: Formalized metatheory with terms represented by an indexed family of types. In: Filliâtre, J.-C., Paulin-Mohring, C., Werner, B. (eds.) TYPES 2004. LNCS, vol. 3839, pp. 1–16. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Anand, A., Rahli, V.: A generic approach to proofs about substitution. In: Proceedings of the 2014 International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, p. 5. ACM (2014)

    Google Scholar 

  4. Aydemir, B.E., et al.: Mechanized metatheory for the masses: the PoplMark challenge. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 50–65. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Aydemir, B.E., Weirich, S.: LNgen: Tool support for locally nameless representations. Technical report, University of Pennsylvania (2010)

    Google Scholar 

  6. de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagationes Mathematicae (Proceedings) 75(5), 381–392 (1972)

    Article  Google Scholar 

  7. Chlipala, A.: Parametric higher-order abstract syntax for mechanized semantics. In: ACM Sigplan Notices, vol. 43, pp. 143–156. ACM (2008)

    Google Scholar 

  8. Girard, J.Y., Taylor, P., Lafont, Y.: Proofs and Types, vol. 7. Cambridge University Press, Cambridge (1989)

    MATH  Google Scholar 

  9. Goguen, H., McKinna, J.: Candidates for substitution. LFCS report series - Laboratory for Foundations of Computer Science ECS LFCS (1997)

    Google Scholar 

  10. Lee, G., Oliveira, B.C.D.S., Cho, S., Yi, K.: GMeta: a generic formal metatheory framework for first-order representations. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 436–455. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  11. Martin-Löf, P.: An intuitionistic theory of types. Twenty-five Years Constructive Type Theory 36, 127–172 (1998)

    Google Scholar 

  12. Polonowski, E.: Automatically generated infrastructure for de bruijn syntaxes. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 402–417. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  13. Pottier, F.: DBLIB, a Coq library for dealing with binding using de Bruijn indices, Dec 2013. https://github.com/fpottier/dblib

  14. Schäfer, S., Smolka, G., Tebbi, T.: Completeness and Decidability of de Bruijn Substitution Algebra in Coq. In: Proceedings of the 2015 Conference on Certified Programs and Proofs, CPP 2015, pp. 67–73. ACM, New York, Jan 2015

    Google Scholar 

  15. Schäfer, S., Tebbi, T.: Autosubst: Automation for de Bruijn syntax and substitution in Coq, August 2014. www.ps.uni-saarland.de/autosubst

  16. Sewell, P., Nardelli, F.Z., Owens, S., Peskine, G., Ridge, T., Sarkar, S., Strniša, R.: Ott: Effective tool support for the working semanticist. J. Funct. Program. 20(1), 71 (2010)

    Article  MATH  Google Scholar 

  17. Takahashi, M.: Parallel reductions in \(\lambda \)-calculus. Inf. Comput. 118(1), 120–127 (1995)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steven Schäfer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Schäfer, S., Tebbi, T., Smolka, G. (2015). Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions. In: Urban, C., Zhang, X. (eds) Interactive Theorem Proving. ITP 2015. Lecture Notes in Computer Science(), vol 9236. Springer, Cham. https://doi.org/10.1007/978-3-319-22102-1_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22102-1_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22101-4

  • Online ISBN: 978-3-319-22102-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics