International Conference on Interactive Theorem Proving

ITP 2015: Interactive Theorem Proving pp 359-374 | Cite as

Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9236)

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.

Keywords

Decision Procedure Strong Normalization Term Language Identity Substitution Parallel Substitution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Abadi, M., Cardelli, L., Curien, P.L., Lévy, J.J.: Explicit substitutions. J. Funct. Program. 1(4), 375–416 (1991)MATHCrossRefGoogle Scholar
  2. 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) CrossRefGoogle Scholar
  3. 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. 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) CrossRefGoogle Scholar
  5. 5.
    Aydemir, B.E., Weirich, S.: LNgen: Tool support for locally nameless representations. Technical report, University of Pennsylvania (2010)Google Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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. 8.
    Girard, J.Y., Taylor, P., Lafont, Y.: Proofs and Types, vol. 7. Cambridge University Press, Cambridge (1989) MATHGoogle Scholar
  9. 9.
    Goguen, H., McKinna, J.: Candidates for substitution. LFCS report series - Laboratory for Foundations of Computer Science ECS LFCS (1997)Google Scholar
  10. 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) CrossRefGoogle Scholar
  11. 11.
    Martin-Löf, P.: An intuitionistic theory of types. Twenty-five Years Constructive Type Theory 36, 127–172 (1998)Google Scholar
  12. 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) CrossRefGoogle Scholar
  13. 13.
    Pottier, F.: DBLIB, a Coq library for dealing with binding using de Bruijn indices, Dec 2013. https://github.com/fpottier/dblib
  14. 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 2015Google Scholar
  15. 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. 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)MATHCrossRefGoogle Scholar
  17. 17.
    Takahashi, M.: Parallel reductions in \(\lambda \)-calculus. Inf. Comput. 118(1), 120–127 (1995)MATHCrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Saarland UniversitySaarbrückenGermany

Personalised recommendations