Skip to main content Accessibility help
×
Home

POPLMark reloaded: Mechanizing proofs by logical relations

  • ANDREAS ABEL (a1), GUILLAUME ALLAIS (a2), ALIYA HAMEER (a3), BRIGITTE PIENTKA (a3), ALBERTO MOMIGLIANO (a4), STEVEN SCHÄFER (a5) and KATHRIN STARK (a5)...

Abstract

We propose a new collection of benchmark problems in mechanizing the metatheory of programming languages, in order to compare and push the state of the art of proof assistants. In particular, we focus on proofs using logical relations (LRs) and propose establishing strong normalization of a simply typed calculus with a proof by Kripke-style LRs as a benchmark. We give a modern view of this well-understood problem by formulating our LR on well-typed terms. Using this case study, we share some of the lessons learned tackling this problem in different dependently typed proof environments. In particular, we consider the mechanization in Beluga, a proof environment that supports higher-order abstract syntax encodings and contrast it to the development and strategies used in general-purpose proof assistants such as Coq and Agda. The goal of this paper is to engage the community in discussions on what support in proof environments is needed to truly bring mechanized metatheory to the masses and engage said community in the crafting of future benchmarks.

Copyright

References

Hide All
Abadi, M., Cardelli, L., Curien, P.-L. & Lévy, J.-J. (1991) Explicit substitutions. J. Funct. Program. 1(4), 375416.
Abbott, M., Altenkirch, T., McBride, C. & Ghani, N. (2005) ∂ for data: Differentiating data structures. Fundamenta Informaticae 65(1–2), 128.
Abel, A. (2008) Normalization for the simply-typed lambda-calculus in Twelf. In Logical Frameworks and Metalanguages (LFM’04), Schürmann, C. (ed). Electronic Notes in Theoretical Computer Science, vol. 199. Elsevier, pp. 316.
Abel, A. (2010) MiniAgda: Integrating sized and dependent types. In Proceedings Workshop on Partiality and Recursion in Interactive Theorem Provers, PAR 2010, Edinburgh, UK, 15th July 2010, Bove, A., Komendantskaya, E. & Niqui, M. (eds). EPTCS, vol. 43, pp. 1428.
Abel, A. & Chapman, J. (2014) Normalization by evaluation in the delay monad: A case study for coinduction via copatterns and sized types. In MSFP. EPTCS, vol. 153, pp. 5167.
Abel, A., Öhman, J. & Vezzosi, A. (2018) Decidability of conversion for type theory in type theory. Proc. ACM Program. Lang. 2(POPL), 23:123:29.
Abel, A., Pientka, B., Thibodeau, D. & Setzer, A. (2013) Copatterns: Programming infinite structures by observations. In The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’13, Rome, Italy, January 23–25, 2013, Giacobazzi, R. & Cousot, R. (eds). ACM, pp. 2738.
Abel, A. & Scherer, G. (2012) On irrelevance and algorithmic equality in predicative type theory. Logical Methods Comput. Sci. 8(1:29), 136. TYPES’10 special issue.
Abel, A. & Vezzosi, A. (2014) A formalized proof of strong normalization for guarded recursive types. In Programming Languages and Systems - 12th Asian Symposium, APLAS 2014, Singapore, November 17–19, 2014, Proceedings, Garrigue, J. (ed). Lecture Notes in Computer Science, vol. 8858. Springer, pp. 140158.
Adams, R. (2006) Formalized metatheory with terms represented by an indexed family of types. In Types for Proofs and Programs, Filliâtre, J.-C., Paulin-Mohring, C. & Werner, B. (eds). Berlin, Heidelberg: Springer, pp. 116.
Ahmed, A. (2004) Semantics of Types for Mutable State. Ph.D. thesis, Princeton University.
Ahmed, A. (2013) Logical relations. In Oregon Programming Languages Summer School (OPLSS).
Ahmed, A., Fluet, M. & Morrisett, G. (2007) L3: A linear language with locations. Fundam. Inform. 77(4), 397449.
Allais, G., Atkey, R., Chapman, J., McBride, C. & McKinna, J. (2018). A type and scope safe universe of syntaxes with binding: Their semantics and proofs. Proc. ACM Program. Lang. 2(ICFP), 90:1–90:30.
Allais, G., Chapman, J., McBride, C. & McKinna, J. (2017) Type-and-scope safe programs and their proofs. In Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs. CPP 2017. New York, NY, USA: ACM, pp. 195207.
Altenkirch, T. (1992) Brewing Strong Normalization Proof with LEGO. Technical report 92-230. LFCS, Edinburgh. http://www.lfcs.inf.ed.ac.uk/reports/92/ECS-LFCS-92-230/ECS-LFCS-92-230.pdf.
Altenkirch, T. (1993) A formalization of the strong normalization proof for System F in LEGO. In Typed Lambda Calculi and Applications, International Conference on Typed Lambda Calculi and Applications, TLCA’93, Utrecht, The Netherlands, March 16–18, 1993, Proceedings, Bezem, M. & Groote, J. F. (eds). Lecture Notes in Computer Science, vol. 664. Springer, pp. 1328.
Altenkirch, T., Chapman, J. & Uustalu, T. (2014) Relative monads formalised. J. Formalized Reasoning 7(1), 143.
Altenkirch, T., Chapman, J. & Uustalu, T. (2015) Monads need not be endofunctors. Log. Methods Comput. Sci. 11(1).
Altenkirch, T., Hofmann, M. & Streicher, T. (1995) Categorical reconstruction of a reduction free normalization proof. In Category Theory and Computer Science, 6th International Conference, CTCS’95, Cambridge, UK, August 7–11, 1995, Proceedings, Pitt, D. H., Rydeheard, D. E. & Johnstone, P. (eds). Lecture Notes in Computer Science, vol. 953. Springer, pp. 182199.
Altenkirch, T. & Kaposi, A. (2016) Type theory in type theory using quotient inductive types. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20–22, 2016, Bodík, R. & Majumdar, R. (eds). ACM, pp. 1829.
Altenkirch, T. & Kaposi, A. (2017) Normalisation by evaluation for type theory, in type theory. Logical Methods Comput. Sci. 13(4:1), 126.
Altenkirch, T. & McBride, C. (2003) Generic programming within dependently typed programming. In Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming. Deventer, The Netherlands, The Netherlands: Kluwer, B.V., pp. 120.
Anand, A. (2016) Exploiting uniformity in substitution: The Nuprl term model. In The 5th International Congress on Mathematical Software (ICMS 2016).
Aydemir, B., Bohannon, A., Fairbairn, M., Foster, J., Pierce, B., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S. & Zdancewic, S. (2005) Mechanized metatheory for the masses: The POPLmark challenge. In Eighteenth International Conference on Theorem Proving in Higher Order Logics (TPHOLs), Hurd, J. & Melham, T. F. (eds). Lecture Notes in Computer Science, vol. 3603. Springer, pp. 5065.
Aydemir, B. & Weirich, S. (2010) LNgen: Tool Support for Locally Nameless Representations. Technical report. MS-CIS-10-24. University of Pennsylvania.
Bengtson, J., Parrow, J. & Weber, T. (2016) Psi-calculi in isabelle. J. Autom. Reasoning 56(1), 147.
Benke, M., Dybjer, P. & Jansson, P. (2003) Universes for generic programs and proofs in dependent type theory. Nordic J. Comput. 10(4), 265289.
Benton, N., Hur, C.-K., Kennedy, A. & McBride, C. (2012) Strongly typed term representations in Coq. J. Autom. Reasoning 49(2), 141159.
Berger, U., Berghofer, S., Letouzey, P. & Schwichtenberg, H. (2006) Program extraction from normalization proofs. Studia Logica 82(1), 2549.
Berghofer, S. (2004) Extracting a normalization algorithm in Isabelle/HOL. In TYPES. Lecture Notes in Computer Science, vol. 3839. Springer, pp. 5065.
Blanchette, J. C., Bouzy, A., Lochbihler, A., Popescu, A. & Traytel, D. (2017) Friends with benefits. In Proceedings of the 26th European Symposium on Programming Languages and Systems - Volume 10201. New York, NY, USA: Springer-Verlag New York, Inc, pp. 111140.
Cave, A. & Pientka, B. (2012) Programming with binders and indexed data-types. In Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, January 22–28, 2012, Field, J. & Hicks, M. (eds). ACM, pp. 413424.
Cave, A. & Pientka, B. (2013) First-class substitutions in contextual type theory. In 8th ACM SIGPLAN International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP’13). ACM, pp. 1524.
Cave, A. & Pientka, B. (2015) A case study on logical relations using contextual types. In Proceedings Tenth International Workshop on Logical Frameworks and Meta Languages: Theory and Practice, LFMTP 2015, Berlin, Germany, August 1, 2015, Cervesato, I. & Chaudhuri, K. (eds). EPTCS, vol. 185.
Cave, A. & Pientka, B. (2018) Mechanizing proofs with logical relations – Kripke-style. Math. Struct. Comput. Sci. 28(9), 16061638.
Cervesato, I. & Pfenning, F. (2002) A linear logical framework. Inf. Comput. 179(1), 1975. cited By 52.
Chapman, J. (2009) Type theory should eat itself. Electr. Notes Theor. Comput. Sci. 228, 2136. Proceedings of the International Workshop on Logical Frameworks and Metalanguages: Theory and Practice (LFMTP 2008).
Chapman, J., Dagand, P., McBride, C. & Morris, P. (2010) The gentle art of levitation. Sigplan Not. 45(9), 314.
Charguéraud, A. (2012) The locally nameless representation. J. Autom. Reasoning 49(3), 363408.
Cheney, J. (2005) Toward a general theory of names: Binding and scope. In ACM SIGPLAN International Conference on Functional Programming, Workshop on Mechanized Reasoning about Languages with Variable Binding, MERLIN 2005, Tallinn, Estonia, September 30, 2005, Momigliano, A. & Pollack, R. (eds). ACM, pp. 3340.
Cheney, J. & Momigliano, A. (2017) α check: A mechanized metatheory model checker. TPLP 17(3), 311352.
Chlipala, A. (2008) Parametric higher-order abstract syntax for mechanized semantics. In ACM Sigplan Notices, vol. 43. ACM, pp. 143156.
Coquand, C. (1993) From semantics to rules: A machine assisted analysis. In Computer Science Logic, 7th Workshop, CSL’93, Swansea, United Kingdom, September 13–17, 1993, Papers, Selected, Börger, E., Gurevich, Y. & Meinke, K. (eds), Lecture Notes in Computer Science, vol. 832. Springer, pp. 91105.
Crary, K. (2005) Logical relations and a case study in equivalence checking. In Advanced Topics in Types and Programming Languages, Pierce, B. C. (ed). MIT.
Curien, P.-L., Hardin, T. & Roís, A. (1992) Strong normalization of substitutions. In Mathematical Foundations of Computer Science 1992, 17th International Symposium, MFCS’92, Prague, Czechoslovakia, August 24–28, 1992, Proceedings, Havel, I. M., & Koubek, V. (eds). Lecture Notes in Computer Science, vol. 629. Springer, pp. 209217.
Danielsson, N. A. (2007) A formalisation of a dependently typed language as an inductive-recursive family. In Types for Proofs and Programs, International Workshop, TYPES 2006, Nottingham, UK, April 18–21, 2006, Revised Selected Papers, Altenkirch, T. & McBride, C. (eds). Lecture Notes in Computer Science, vol. 4502. Springer, pp. 93109.
De Bruijn, N. G. (1972) Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. In Indagationes Mathematicae (Proceedings), vol. 75. Elsevier, pp. 381392.
Despeyroux, J., Felty, A. P. & Hirschowitz, A. (1995) Higher-order abstract syntax in coq. In Typed Lambda Calculi and Applications, Second International Conference on Typed Lambda Calculi and Applications, TLCA’95, Edinburgh, UK, April 10–12, 1995, Proceedings, Dezani-Ciancaglini, M. & Plotkin, G. D. (eds). Lecture Notes in Computer Science, vol. 902. Springer, pp. 124138.
Dybjer, P. (1994) Inductive families. Formal Aspects Comput 6(4), 440465.
Dybjer, P. & Setzer, A. (1999) A finite axiomatization of inductive-recursive definitions. In Typed Lambda Calculi and Applications, 4th International Conference, TLCA’99, L’Aquila, Italy, April 7–9, 1999, Proceedings, Girard, J.-Y. (ed). Lecture Notes in Computer Science, vol. 1581. Springer, pp. 129146.
Felty, A. & Momigliano, A. (2012) Hybrid: A definitional two-level approach to reasoning with higher-order abstract syntax. J. Autom. Reasoning 48(1), 43105.
Felty, A. P. & Momigliano, A. (2009) Reasoning with hypothetical judgments and open terms in Hybrid. In 11th ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP’09). New York, NY, USA: ACM, pp. 8392.
Felty, A. P., Momigliano, A. & Pientka, B. (2015) The next 700 challenge problems for reasoning with higher-order abstract syntax representations - part 2 - A survey. J. Autom. Reasoning 55(4), 307372.
Felty, A. P., Momigliano, A. & Pientka, B. (2018) Benchmarks for reasoning with syntax trees containing binders and contexts of assumptions. Math. Struct. Comput. Sci. 28(9), 15071540.
Ferreira, F., Monnier, S. & Pientka, B. (2013) Compiling contextual objects: Bringing higher-order abstract syntax to programmers. In Proceedings of the 7th workshop on Programming languages meets program verification. ACM, pp. 1324.
Friedman, H. (1975) Equality between functionals. In Logic Colloquium, Parikh, R. (ed). Lecture Notes in Mathematics, vol. 453. Springer, pp. 2237.
Gacek, A. (2010) Girard’s Proof of Strong Normalization of the Simply-Typed Lambda-Calculus Calculus. http://abella-prover.org/examples/lambda-calculus/normalization/stlc-strong-norm.html.
Geuvers, H. (1995) A short and flexible proof of strong normalization for the calculus of constructions. In Selected Papers from the International Workshop on Types for Proofs and Programs. TYPES’94. London, UK: Springer-Verlag, pp. 1438.
Girard, J. Y. (1972) Interprétation fonctionnelle et elimination des coupures de l’arithmétique d’ordre supérieur. These d’état, Université de Paris 7.
Girard, J.-Y., Lafont, Y. & Taylor, P. (1989) Proofs and Types. Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge University.
Goguen, H. (1995) Typed operational semantics. In 2nd International Conference on Typed Lambda Calculi and Applications (TLCA’95), Dezani-Ciancaglini, M. & Plotkin, G. (eds). Lecture Notes in Computer Science (LNCS 902). Springer, pp. 186200.
Goguen, H. (2005) Justifying algorithms for βη conversion. In Foundations of Software Science and Computational Structures, 8th International Conference, FoSSaCS 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4–8, 2005, Proceedings, Sassone, V. (ed). Lecture Notes in Computer Science, vol. 3441. Springer, pp. 410424.
Group, Nominal Methods (2009) Strong normalization for the simply typed lambda calculus. https://isabelle.in.tum.de/dist/library/HOL/HOL-Nominal-Examples/SN.html.
Harper, R., Honsell, F. & Plotkin, G. D. (1993) A framework for defining logics. J. Associat. Comput. Mach. 40(1), 143184.
Harper, R. & Pfenning, F. (2005) On equivalence and canonical forms in the LF type theory. ACM Trans. Comput. Logic 6(1), 61101.
Hoare, T. (2003) The verifying compiler: A grand challenge for computing research. In Modular Programming Languages, Böszörményi, L. & Schojer, P. (eds). Berlin, Heidelberg: Springer, pp. 2535.
Hofmann, M. (1999) Semantical analysis of higher-order abstract syntax. In 14th Symposium on Logic in Computer Science, 1999. Proceedings. IEEE, pp. 204213.
Hur, C.-K., Neis, G., Dreyer, D. & Vafeiadis, V. (2013) The power of parameterization in coinductive proof. In POPL’13. NY, USA: ACM, pp. 193206.
Jacob-Rao, R., Pientka, B. & Thibodeau, D. (2018) Index-stratified types. In 3rd International Conference on Formal Structures for Computation and Deduction, FSCD 2018, July 9-12, 2018, Oxford, UK, Kirchner, H. (ed). LIPIcs, vol. 108. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, pp. 19:1–19:17.
Joachimski, F. & Matthes, R. (2003) Short proofs of normalization for the simply-typed lambda-calculus, permutative conversions and Gödel’s T. Arch. Math. Logic 42(1), 5987.
Kaiser, J., Schäfer, S. & Stark, K. (2017) Autosubst 2: Towards reasoning with multi-sorted de Bruijn terms and vector substitutions. In Proceedings of the Workshop on Logical Frameworks and Meta-Languages: Theory and Practice. LFMTP’17. New York, NY, USA: ACM, pp. 1014.
Keuchel, S., Weirich, S. & Schrijvers, T. (2016) Needle & Knot: Binder boilerplate tied up. In European Symposium on Programming. Springer, pp. 419445.
Klein, G. & Nipkow, T. (2006) A machine-checked model for a Java-like language, virtual machine, and compiler. ACM Trans. Program. Lang. Syst. 28(4), 619695.
Kumar, R., Myreen, M. O., Norrish, M. & Owens, S. (2014) CakeML: A verified implementation of ML. In The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’14, San Diego, CA, USA, January 20–21, 2014, Jagannathan, S. & Sewell, P. (eds). ACM, pp. 179192.
Lee, D. K., Crary, K. & Harper, R. (2007) Towards a mechanized metatheory of standard ML. In Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007, Nice, France, January 17–19, 2007, Hofmann, M. & Felleisen, M. (eds). ACM, pp. 173184.
Lee, G., Oliveira, B. C. d. S., Cho, S. & Yi, K. (2012) GMeta: A generic formal metatheory framework for first-order representations. In Programming Languages and Systems - 21st European Symposium on Programming, ESOP 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012, Tallinn, Estonia, March 24–April 1, 2012. Proceedings, Seidl, H. (ed). Lecture Notes in Computer Science, vol. 7211. Springer, pp. 436455.
Lenglet, S. & Schmitt, A. (2018) Hoπ in Coq. In Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs. CPP 2018. New York, NY, USA: ACM, pp. 252265.
Leroy, X. (2009) Formal verification of a realistic compiler. Commun. ACM 52(7), 107115.
Licata, D. R. & Harper, R. (2009) A universe of binding and computation. In ACM Sigplan Notices, vol. 44. ACM, pp. 123134.
Mahmoud, M. Y. & Felty, A. P. (2019) Formalization of metatheory of the quipper quantum programming language in a linear logic. J. Autom. Reasoning 63(4), 9671002.
Malcolm, G. (1990) Data structures and program transformation. Sci. Comput. Program. 14(2–3), 255279.
Martin-Löf, P. (1982) Constructive mathematics and computer programming. Stud. Logic Foundat. Math. 104, 153175.
Mitchell, J. C. & Moggi, E. (1991) Kripke-style models for typed lambda calculus. Ann. Pure Appl. Logic 51(1–2), 99124.
Momigliano, A. (2012) A supposedly fun thing I may have to do again: A HOAS encoding of Howe’s method. In Proceedings of the Seventh International Workshop on Logical Frameworks and Meta-languages, Theory and Practice. LFMTP’12. New York, NY, USA: ACM, pp. 3342.
Momigliano, A., Pientka, B. & Thibodeau, D. (2019) A case study in programming coinductive proofs: Howe’s method. Math. Struct. Comput. Sci. 29(8), 13091343.
Nanevski, A., Pfenning, F. & Pientka, B. (2008) Contextual modal type theory. ACM Trans. Comput. Logic 9(3), 149.
Narboux, J. & Urban, C. (2008) Formalising in Nominal Isabelle Crary’s completeness proof for equivalence checking. Electronic Notes Theoret. Comput. Sci. 196, 318. Proceedings of the Second International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2007).
Norell, U. (2009) Dependently typed programming in Agda. In AFP Summer School. Springer, pp. 230266.
Pérez, J. A., Caires, L., Pfenning, F. & Toninho, B. (2014) Linear logical relations and observational equivalences for session-based concurrency. Inf. Comput. 239, 254302.
Pickering, M., Érdi, G., Peyton Jones, S. & Eisenberg, R. A. (2016) Pattern synonyms. In Proceedings of the 9th International Symposium on Haskell. Haskell 2016. New York, NY, USA: ACM, pp. 8091.
Pientka, B. (2005) Verifying termination and reduction properties about higher-order logic programs. J. Autom. Reasoning 34(2), 179207.
Pientka, B. (2007) Proof pearl: The power of higher-order encodings in the logical framework LF. In Theorem Proving in Higher Order Logics, 20th International Conference, TPHOLs 2007, Kaiserslautern, Germany, September 10–13, 2007, Proceedings, Schneider, K. & Brandt, J. (eds). Lecture Notes in Computer Science, vol. 4732. Springer, pp. 246261.
Pientka, B. (2008) A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7–12, 2008, Necula, G. C. & Wadler, P. (eds). ACM, pp. 371382.
Pientka, B. & Dunfield, J. (2010) Beluga: A framework for programming and reasoning with deductive systems (system description). In 5th International Joint Conference on Automated Reasoning (IJCAR’10), Giesl, J. & Haehnle, R. (eds). Lecture Notes in Artificial Intelligence (LNAI 6173). Springer, pp. 1521.
Pierce, B. C. (2002) Types and Programming Languages. MIT.
Pierce, B. C. & Weirich, S. (2012) Introduction to the special issue on the POPLMark Challenge. J. Autom. Reasoning 49(3), 301302.
Plotkin, G. (1973) Lambda-Definability and Logical Relations. Memorandum sai-rm-4. University of Edinburgh.
Pollack, R. (1994) Closure under alpha-conversion. In Types for Proofs and Programs, International Workshop TYPES’93, Nijmegen, The Netherlands, May 24–28, 1993, Papers, Selected, Barendregt, H. & Nipkow, T. (eds). Lecture Notes in Computer Science, vol. 806. Springer, pp. 313332.
Pouillard, N. & Pottier, F. (2010) A fresh look at programming with names and binders. In ACM Sigplan Notices, vol. 45. ACM, pp. 217228.
Poulsen, C. B., Rouvoet, A., Tolmach, A., Krebbers, R. & Visser, E. (2018). Intrinsically-typed definitional interpreters for imperative languages. PACMPL 2(POPL), 16:1–16:34.
Rasmussen, U. & Filinski, A. (2013) Structural logical relations with case analysis and equality reasoning. In Proceedings of the Eighth ACM SIGPLAN International Workshop on Logical Frameworks & Meta-languages: Theory & Practice, LFMTP 2013, Boston, Massachusetts, USA, September 23, 2013, Momigliano, A., Pientka, B. & Pollack, R. (eds). ACM, pp. 4354.
Rizkallah, C., Garbuzov, D. & Zdancewic, S. (2018) A formal equational theory for call-by-push-value. In International Conference on Interactive Theorem Proving. Springer, pp. 523541.
Rossberg, A., Russo, C. & Dreyer, D. (2014) F-ing modules. J. Funct. Program. 24(5), 529607.
Schäfer, S., Tebbi, T. & Smolka, G. (2014) Autosubst: Automation for de Bruijn substitutions. In 6th Coq Workshop, July 2014.
Schäfer, S., Smolka, G. & Tebbi, T. (2015) Completeness and decidability of de Bruijn substitution algebra in Coq. In Proceedings of the 2015 Conference on Certified Programs and Proofs, CPP 2015, Mumbai, India, January 15–17, 2015. Berlin, Heidelberg: Springer-Verlag, pp. 6773.
Schürmann, C. & Sarnat, J. (2008) Structural logical relations. In Proceedings of the Twenty-Third Annual IEEE Symposium on Logic in Computer Science, LICS 2008, June 24–27, 2008, Pittsburgh, PA, USA, Pfenning, F. (ed). IEEE Computer Society, pp. 6980.
Sturm, S. (2018) Verification and Theorem Proving in F*. M.Phil. thesis, LMU. https://github.com/sturmsebastian/Fstar-master-thesis-code.
Tait, W. W. (1967) Intensional interpretations of functionals of finite type I. J. Symb. Logic 32(2), 198212.
Tiu, A. & Miller, D. (2010) Proof search specifications of bisimulation and modal logics for the pi-calculus. ACM Trans. Comput. Log. 11(2), 13:113:35.
Urban, C. & Kaliszyk, C. (2012) General bindings and alpha-equivalence in nominal isabelle. Log. Methods Comput. Sci. 8(2:14), 135.
Urban, C., Cheney, J. & Berghofer, S. (2011) Mechanizing the metatheory of LF. ACM Trans. Comput. Logic 12(2), 15:115:42.
van Raamsdonk, F. & Severi, P. (1995) On Normalisation. Technical report 95/20. Technische Universiteit Eindhoven.
Wang, Y., Chaudhuri, K., Gacek, A. & Nadathur, G. (2013) Reasoning about higher-order relational specifications. In Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming. ACM, pp. 157168.
Watkins, K., Cervesato, I., Pfenning, F. & Walker, D. (2002) A Concurrent Logical Framework I: Judgments and Properties. Technical report CMU-CS-02-101. Department of Computer Science, Carnegie Mellon University.
Weirich, S., Yorgey, B. A. & Sheard, T. (2011) Binders unbound. In ACM SIGPLAN Notices, vol. 46. ACM, pp. 333345.
Werner, B. (1992) A normalization proof for an impredicative type system with large elimination over integers. In International Workshop on Types for Proofs and Programs (TYPES), pp. 341357.
Xi, H. (2004) Applied type system. In TYPES 2003. Lecture Notes in Computer Science, vol. 3085. Springer, pp. 394408.
Type Description Title
PDF
Supplementary materials

Abel supplementary material
Appendix

 PDF (223 KB)
223 KB

POPLMark reloaded: Mechanizing proofs by logical relations

  • ANDREAS ABEL (a1), GUILLAUME ALLAIS (a2), ALIYA HAMEER (a3), BRIGITTE PIENTKA (a3), ALBERTO MOMIGLIANO (a4), STEVEN SCHÄFER (a5) and KATHRIN STARK (a5)...

Metrics

Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

POPLMark reloaded: Mechanizing proofs by logical relations

  • ANDREAS ABEL (a1), GUILLAUME ALLAIS (a2), ALIYA HAMEER (a3), BRIGITTE PIENTKA (a3), ALBERTO MOMIGLIANO (a4), STEVEN SCHÄFER (a5) and KATHRIN STARK (a5)...
Submit a response

Discussions

No Discussions have been published for this article.

×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *