skip to main content
research-article
Open Access
Artifacts Available
Artifacts Evaluated & Reusable

Bindings as bounded natural functors

Published:02 January 2019Publication History
Skip Abstract Section

Abstract

We present a general framework for specifying and reasoning about syntax with bindings. Abstract binder types are modeled using a universe of functors on sets, subject to a number of operations that can be used to construct complex binding patterns and binding-aware datatypes, including non-well-founded and infinitely branching types, in a modular fashion. Despite not committing to any syntactic format, the framework is ``concrete'' enough to provide definitions of the fundamental operators on terms (free variables, alpha-equivalence, and capture-avoiding substitution) and reasoning and definition principles. This work is compatible with classical higher-order logic and has been formalized in the proof assistant Isabelle/HOL.

Skip Supplemental Material Section

Supplemental Material

a22-gheri.webm

References

  1. Michael Gordon Abbott, Thorsten Altenkirch, and Neil Ghani. 2005. Containers: Constructing Strictly Positive Types. Theor. Comput. Sci. 342, 1 (2005), 3–27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Michael Gordon Abbott, Thorsten Altenkirch, Neil Ghani, and Conor McBride. 2004. Constructing Polymorphic Programs with Quotient Types. In Mathematics of Program Construction (MPC) 2004, Dexter Kozen and Carron Shankland (Eds.). LNCS, Vol. 3125. Springer, 2–15.Google ScholarGoogle ScholarCross RefCross Ref
  3. Andreas Abel and Thorsten Altenkirch. 1999. A Predicative Strong Normalisation Proof for a λ-Calculus with Interleaving Inductive Types. In Types for Proofs and Programs (TYPES) 1999, Thierry Coquand, Peter Dybjer, Bengt Nordström, and Jan M. Smith (Eds.). LNCS, Vol. 1956. Springer, 21–40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Andreas Abel, Alberto Momigliano, and Brigitte Pientka. 2017. POPLMark Reloaded. In Logical Frameworks and MetaLanguages: Theory and Practice (LFMTP) 2017, Marino Miculan and Florian Rabe (Eds.). https://lfmtp.org/workshops/ 2017/inc/papers/paper_8_abel.pdfGoogle ScholarGoogle Scholar
  5. Peter Aczel and Nax Paul Mendler. 1989. A Final Coalgebra Theorem. In Category Theory and Computer Science 1989, David H. Pitt, David E. Rydeheard, Peter Dybjer, Andrew M. Pitts, and Axel Poigné (Eds.). LNCS, Vol. 389. Springer, 357–365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Benedikt Ahrens, André Hirschowitz, Ambroise Lafont, and Marco Maggesi. 2018. High-Level Signatures and Initial Semantics. In Computer Science Logic (CSL) 2018, Dan R. Ghica and Achim Jung (Eds.). LIPIcs, Vol. 119. Schloss Dagstuhl— Leibniz-Zentrum fuer Informatik, 4:1–4:22.Google ScholarGoogle Scholar
  7. Guillaume Allais, Robert Atkey, James Chapman, Conor McBride, and James McKinna. 2018. A Type and Scope Safe Universe of Syntaxes with Binding: Their Semantics and Proofs. Proc. ACM Program. Lang. 2, International Conference on Functional Programming (ICFP) (2018), 90:1–90:30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Thorsten Altenkirch, Neil Ghani, Peter Hancock, Conor McBride, and Peter Morris. 2015. Indexed Containers. J. Funct. Program. 25 (2015).Google ScholarGoogle Scholar
  9. Thorsten Altenkirch and Bernhard Reus. 1999. Monadic Presentations of Lambda Terms using Generalized Inductive Types. In Computer Science Logic (CSL) 1999, Jörg Flum and Mario Rodríguez-Artalejo (Eds.). LNCS, Vol. 1683. Springer, 453–468. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, and Steve Zdancewic. 2005. Mechanized Metatheory for the Masses: The PoplMark Challenge. In Theorem Proving in Higher Order Logics (TPHOLs) 2005, Joe Hurd and Thomas F. Melham (Eds.). LNCS, Vol. 3603. Springer, 50–65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Brian E. Aydemir, Aaron Bohannon, and Stephanie Weirich. 2007. Nominal Reasoning Techniques in Coq (Extended Abstract). Electr. Notes Theor. Comput. Sci. 174, 5 (2007), 69–77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Brian E. Aydemir, Arthur Charguéraud, Benjamin C. Pierce, Randy Pollack, and Stephanie Weirich. 2008. Engineering Formal Metatheory. In Principles of Programming Languages (POPL) 2008, George C. Necula and Philip Wadler (Eds.). ACM, 3–15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Baelde, Kaustuv Chaudhuri, Andrew Gacek, Dale Miller, Gopalan Nadathur, Alwen Tiu, and Yuting Wang. 2014. Abella: A System for Reasoning about Relational Specifications. J. Formalized Reasoning 7, 2 (2014), 1–89.Google ScholarGoogle Scholar
  14. Henk P. Barendregt. 1984. The Lambda Calculus: Its Syntax and Semantics. Studies in Logic, Vol. 40. Elsevier.Google ScholarGoogle Scholar
  15. François Bergeron, Gilbert Labelle, and Pierre Leroux. 1997. Combinatorial Species and Tree-Like Structures. Number 67 in Encyclopedia of Mathematics and Its Applications. Cambridge University Press. Translated by Margaret Readdy.Google ScholarGoogle Scholar
  16. Stefan Berghofer and Christian Urban. 2007. A Head-to-Head Comparison of de Bruijn Indices and Names. Electr. Notes Theor. Comput. Sci. 174, 5 (2007), 53–67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Richard S. Bird and Ross Paterson. 1999. De Bruijn Notation as a Nested Datatype. J. Funct. Program. 9, 1 (1999), 77–91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jasmin Christian Blanchette, Lorenzo Gheri, Andrei Popescu, and Dmitriy Traytel. 2019a. Bindings as Bounded Natural Functors (Extended Version). https://github.com/dtraytel/Bindings- as- BNFs/blob/master/bindings_extended.pdf .Google ScholarGoogle Scholar
  19. Jasmin Christian Blanchette, Lorenzo Gheri, Andrei Popescu, and Dmitriy Traytel. 2019b. Formalization associated with this paper. https://github.com/dtraytel/Bindings- as- BNFs .Google ScholarGoogle Scholar
  20. Jasmin Christian Blanchette, Johannes Hölzl, Andreas Lochbihler, Lorenz Panny, Andrei Popescu, and Dmitriy Traytel. 2014. Truly Modular (Co)datatypes for Isabelle/HOL. In Interactive Theorem Proving (ITP) 2014, Gerwin Klein and Ruben Gamboa (Eds.). LNCS, Vol. 8558. Springer, 93–110.Google ScholarGoogle Scholar
  21. Jasmin Christian Blanchette, Fabian Meier, Andrei Popescu, and Dmitriy Traytel. 2017. Foundational Nonuniform (Co)datatypes for Higher-Order Logic. In Logic in Computer Science (LICS) 2017. IEEE Computer Society, 1–12.Google ScholarGoogle Scholar
  22. Arthur Charguéraud. 2012. The Locally Nameless Representation. J. Autom. Reasoning 49, 3 (2012), 363–408.Google ScholarGoogle ScholarCross RefCross Ref
  23. Adam Chlipala. 2008. Parametric Higher-Order Abstract Syntax for Mechanized Semantics. In International Conference on Functional Programming (ICFP) 2008, James Hook and Peter Thiemann (Eds.). ACM, 143–156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Alonzo Church. 1940. A Formulation of the Simple Theory of Types. J. Symb. Log. 5, 2 (1940), 56–68.Google ScholarGoogle ScholarCross RefCross Ref
  25. Ernesto Copello, Nora Szasz, and Álvaro Tasistro. 2018. Formalisation in Constructive Type Theory of Barendregt’s Variable Convention for Generic Structures with Binders. In Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP) 2018, Frédéric Blanqui and Giselle Reis (Eds.). EPTCS, Vol. 274. 11–26.Google ScholarGoogle Scholar
  26. N. G. de Bruijn. 1972. Lambda Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, with Application to the Church–Rosser Theorem. Indag. Math 75, 5 (1972), 381–392.Google ScholarGoogle ScholarCross RefCross Ref
  27. Joëlle Despeyroux, Amy P. Felty, and André Hirschowitz. 1995. Higher-Order Abstract Syntax in Coq. In Typed Lambda Calculi and Applications (TLCA) 1995, Mariangiola Dezani-Ciancaglini and Gordon D. Plotkin (Eds.). LNCS, Vol. 902. Springer, 124–138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Amy P. Felty and Alberto Momigliano. 2012. Hybrid: A Definitional Two-Level Approach to Reasoning with Higher-Order Abstract Syntax. J. Autom. Reasoning 48, 1 (2012), 43–105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Amy P. Felty, Alberto Momigliano, and Brigitte Pientka. 2015a. The Next 700 Challenge Problems for Reasoning with Higher-Order Abstract Syntax Representations: Part 2—a Survey. J. Autom. Reasoning 55, 4 (2015), 307–372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Amy P. Felty, Alberto Momigliano, and Brigitte Pientka. 2015b. An Open Challenge Problem Repository for Systems Supporting Binders. In Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP) 2015, Iliano Cervesato and Kaustuv Chaudhuri (Eds.). EPTCS, Vol. 185. 18–32.Google ScholarGoogle Scholar
  31. Amy P. Felty and Brigitte Pientka. 2010. Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison. In Interactive Theorem Proving (ITP) 2010, Matt Kaufmann and Lawrence C. Paulson (Eds.). LNCS, Vol. 6172. Springer, 227–242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Francisco Ferreira and Brigitte Pientka. 2017. Programs Using Syntax with First-Class Binders. In European Symposium on Programming (ESOP) 2017, Hongseok Yang (Ed.). LNCS, Vol. 10201. Springer, 504–529.Google ScholarGoogle Scholar
  33. M. Fiore, N. Gambino, M. Hyland, and G. Winskel. 2008. The Cartesian Closed Bicategory of Generalised Species of Structures. J. London Math. Soc. 77, 1 (2008), 203–220.Google ScholarGoogle ScholarCross RefCross Ref
  34. Marcelo P. Fiore, Gordon D. Plotkin, and Daniele Turi. 1999. Abstract Syntax and Variable Binding. In Logic in Computer Science (LICS) 1999. IEEE Computer Society, 193–202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Denis Firsov and Aaron Stump. 2018. Generic Derivation of Induction for Impredicative Encodings in Cedille. In Certified Programs and Proofs (CPP) 2018, June Andronick and Amy P. Felty (Eds.). ACM, 215–227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Murdoch Gabbay. 2007. A General Mathematics of Names. Inf. Comput. 205, 7 (2007), 982–1011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Murdoch Gabbay and Andrew M. Pitts. 1999. A New Approach to Abstract Syntax Involving Binders. In Logic in Computer Science (LICS) 1999. IEEE Computer Society, 214–224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Murdoch Gabbay and Andrew M. Pitts. 2002. A New Approach to Abstract Syntax with Variable Binding. Formal Asp. Comput. 13, 3-5 (2002), 341–363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Nicola Gambino and Martin Hyland. 2003. Wellfounded Trees and Dependent Polynomial Functors. In Types for Proofs and Programs (TYPES) 2003, Stefano Berardi, Mario Coppo, and Ferruccio Damiani (Eds.). LNCS, Vol. 3085. Springer, 210–225.Google ScholarGoogle Scholar
  40. Neil Ghani, Patricia Johann, and Clément Fumex. 2013. Indexed Induction and Coinduction, Fibrationally. Logical Methods in Computer Science 9, 3 (2013).Google ScholarGoogle Scholar
  41. Neil Ghani, Tarmo Uustalu, and Makoto Hamana. 2006. Explicit Substitutions and Higher-Order Syntax. Higher-Order and Symbolic Computation 19, 2-3 (2006), 263–282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Lorenzo Gheri and Andrei Popescu. 2017. A Formalized General Theory of Syntax with Bindings. In Interactive Theorem Proving (ITP) 2017, Mauricio Ayala-Rincón and César A. Muñoz (Eds.). LNCS, Vol. 10499. Springer, 241–261.Google ScholarGoogle ScholarCross RefCross Ref
  43. M. J. C. Gordon and T. F. Melham (Eds.). 1993. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Elsa L. Gunter, Christopher J. Osborn, and Andrei Popescu. 2009. Theory Support for Weak Higher Order Abstract Syntax in Isabelle/HOL. In Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP) 2009, James Cheney and Amy P. Felty (Eds.). ACM, 12–20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Robert Harper, Furio Honsell, and Gordon D. Plotkin. 1987. A Framework for Defining Logics. In Logic in Computer Science (LICS) 1987. IEEE Computer Society, 194–204.Google ScholarGoogle Scholar
  46. Matthew Hennessy and Robin Milner. 1980. On Observing Nondeterminism and Concurrency. In International Colloquium on Automata, Languages, and Programming (ICALP) 1980, J. W. de Bakker and Jan van Leeuwen (Eds.). LNCS, Vol. 85. Springer, 299–309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Ulrich Hensel and Bart Jacobs. 1997. Proof Principles for Datatypes with Iterated Recursion. In Category Theory and Computer Science 1997, Eugenio Moggi and Giuseppe Rosolini (Eds.). LNCS, Vol. 1290. Springer, 220–241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. André Hirschowitz and Marco Maggesi. 2012. Initial Semantics for Strengthened Signatures. In Fixed Points in Computer Science (FICS) 2012, Dale Miller and Zoltán Ésik (Eds.). EPTCS, Vol. 77. 31–38.Google ScholarGoogle Scholar
  49. Martin Hofmann. 1999. Semantical Analysis of Higher-Order Abstract Syntax. In Logic in Computer Science (LICS) 1999. IEEE Computer Society, 204–213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Paul F. Hoogendijk and Oege de Moor. 2000. Container Types Categorically. J. Funct. Program. 10, 2 (2000), 191–225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Gérard P. Huet and Bernard Lang. 1978. Proving and Applying Program Transformations Expressed with Second-Order Patterns. Acta Inf. 11 (1978), 31–55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Felix Joachimski. 2001. Reduction Properties of ΠIE-Systems. Ph.D. Dissertation. LMU München.Google ScholarGoogle Scholar
  53. P. T. Johnstone. 1983. Quotients of Decidable Objects in a Topos. Math. Proc. Cambridge Philosophical Society 93 (1983), 409–419.Google ScholarGoogle ScholarCross RefCross Ref
  54. André Joyal. 1981. Une théorie combinatoire des séries formelles. Adv. Math. 42 (1981), 1–82.Google ScholarGoogle ScholarCross RefCross Ref
  55. André Joyal. 1986. Foncteurs analytiques et espèces de structures. In Combinatoire Énumérative. LNM, Vol. 1234. Springer, 126–159.Google ScholarGoogle Scholar
  56. Jonas Kaiser, Brigitte Pientka, and Gert Smolka. 2017. Relating System F and λ2: A Case Study in Coq, Abella and Beluga. In Formal Structures for Computation and Deduction (FSCD) 2017, Dale Miller (Ed.). LIPIcs, Vol. 84. Schloss Dagstuhl—Leibniz-Zentrum fuer Informatik, 21:1–21:19.Google ScholarGoogle Scholar
  57. H. Jerome Keisler. 1971. Model Theory for Infinitary Logic: Logic with Countable Conjunctions and Finite Quantifiers. Studies in Logic and the Foundations of Mathematics, Vol. 62. North Holland.Google ScholarGoogle Scholar
  58. Richard Kennaway, Jan Willem Klop, M. Ronan Sleep, and Fer-Jan de Vries. 1997. Infinitary Lambda Calculus. Theor. Comput. Sci. 175, 1 (1997), 93–125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Steven Keuchel and Johan Jeuring. 2012. Generic Conversions of Abstract Syntax Representations. In Workshop on Generic Programming 2012, Andres Löh and Ronald Garcia (Eds.). ACM, 57–68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Steven Keuchel, Stephanie Weirich, and Tom Schrijvers. 2016. Needle & Knot: Binder Boilerplate Tied Up. In European Symposium on Programming (ESOP) 2016, Peter Thiemann (Ed.). LNCS, Vol. 9632. Springer, 419–445.Google ScholarGoogle Scholar
  61. Joachim Kock. 2012. Data Types with Symmetries and Polynomial Functors over Groupoids. Electr. Notes Theor. Comput. Sci. 286 (2012), 351–365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Ondřej Kunčar and Andrei Popescu. 2018. Safety and Conservativity of Definitions in HOL and Isabelle/HOL. Proc. ACM Program. Lang. 2, Principles of Programming Languages (POPL) (2018), 24:1–24:26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Alexander Kurz, Daniela Petrisan, Paula Severi, and Fer-Jan de Vries. 2012. An Alpha-Corecursion Principle for the Infinitary Lambda Calculus. In Coalgebraic Methods in Computer Science (CMCS) 2012, Dirk Pattinson and Lutz Schröder (Eds.). LNCS, Vol. 7399. Springer, 130–149.Google ScholarGoogle ScholarCross RefCross Ref
  64. Alexander Kurz, Daniela Petrisan, Paula Severi, and Fer-Jan de Vries. 2013. Nominal Coalgebraic Data Types with Applications to Lambda Calculus. Logical Methods in Computer Science 9, 4 (2013).Google ScholarGoogle Scholar
  65. Gyesik Lee, Bruno C. d. S. Oliveira, Sungkeun Cho, and Kwangkeun Yi. 2012. GMeta: A Generic Formal Metatheory Framework for First-Order Representations. In European Symposium on Programming (ESOP) 2012, Helmut Seidl (Ed.). LNCS, Vol. 7211. Springer, 436–455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Pierre Lescanne and Jocelyne Rouyer-Degli. 1995. Explicit Substitutions with de Bruijn’s Levels. In Rewriting Techniques and Applications (RTA) 1995, Jieh Hsiang (Ed.). LNCS, Vol. 914. Springer, 294–308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Daniel R. Licata and Robert Harper. 2009. A Universe of Binding and Computation. In International Conference on Functional Programming (ICFP) 2009, Graham Hutton and Andrew P. Tolmach (Eds.). ACM, 123–134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Michael Makkai and Robert Paré. 1990. Accessible Categories: The Foundations of Categorical Model Theory. Contemporary Mathematics, Vol. 104. American Mathematical Society.Google ScholarGoogle Scholar
  69. Ralph Matthes and Tarmo Uustalu. 2004. Substitution in Non-Wellfounded Syntax with Variable Binding. Theor. Comput. Sci. 327, 1-2 (2004), 155–174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Conor McBride. 2004. Epigram: Practical Programming with Dependent Types. In Advanced Functional Programming 2004, Varmo Vene and Tarmo Uustalu (Eds.). LNCS, Vol. 3622. Springer, 130–170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Robin Milner. 1978. A Theory of Type Polymorphism in Programming. J. Comput. Syst. Sci. 17, 3 (1978), 348–375.Google ScholarGoogle ScholarCross RefCross Ref
  72. Robin Milner. 1989. Communication and Concurrency. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Robin Milner. 1999. Communicating and Mobile Systems: The π -Calculus. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Peter Morris, Thorsten Altenkirch, and Neil Ghani. 2009. A Universe of Strictly Positive Families. Int. J. Found. Comput. Sci. 20, 1 (2009), 83–107.Google ScholarGoogle ScholarCross RefCross Ref
  75. Bengt Nordström, Kent Petersson, and Jan M. Smith. 1990. Programming in Martin-Löf’s Type Theory: An Introduction. Oxford University Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Michael Norrish. 2004. Recursive Function Definition for Types with Binders. In Theorem Proving in Higher Order Logics (TPHOLs) 2004, Konrad Slind, Annette Bunker, and Ganesh Gopalakrishnan (Eds.). LNCS, Vol. 3223. Springer, 241–256.Google ScholarGoogle ScholarCross RefCross Ref
  77. Lawrence C. Paulson. 1989. The Foundation of a Generic Theorem Prover. J. Autom. Reasoning 5, 3 (1989), 363–397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Frank Pfenning and Conal Elliott. 1988. Higher-Order Abstract Syntax. In Programming Language Design and Implementation (PLDI) 1988, Richard L. Wexelblat (Ed.). ACM, 199–208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Frank Pfenning and Carsten Schürmann. 1999. System Description: Twelf—A Meta-Logical Framework for Deductive Systems. In Conference on Automated Deduction (CADE) 1999, Harald Ganzinger (Ed.). LNCS, Vol. 1632. Springer, 202–206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Brigitte Pientka. 2010. Beluga: Programming with Dependent Types, Contextual Data, and Contexts. In Functional and Logic Programming (FLOPS) 2010, Matthias Blume, Naoki Kobayashi, and Germán Vidal (Eds.). LNCS, Vol. 6009. Springer, 1–12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. A. Pitts. 1993. In Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Chapter The HOL Logic, 191–232.Google ScholarGoogle Scholar
  83. Andrew M. Pitts. 2003. Nominal Logic, a First Order Theory of Names and Binding. Inf. Comput. 186, 2 (2003), 165–193. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Andrew M. Pitts. 2006. Alpha-Structural Recursion and Induction. J. ACM 53, 3 (2006), 459–506. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Andrei Popescu, Elsa L. Gunter, and Christopher J. Osborn. 2010. Strong Normalization for System F by HOAS on Top of FOAS. In Logic in Computer Science (LICS) 2010. IEEE Computer Society, 31–40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Adam Poswolsky and Carsten Schürmann. 2009. System Description: Delphin—A Functional Programming Language for Deductive Systems. Electr. Notes Theor. Comput. Sci. 228 (2009), 113–120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. François Pottier. 2006. An Overview of C α ml. Electr. Notes Theor. Comput. Sci. 148, 2 (2006), 27–52.Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Jan J. M. M. Rutten. 1998. Relators and Metric Bisimulations. Electr. Notes Theor. Comput. Sci. 11 (1998), 252–258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Steven Schäfer, Tobias Tebbi, and Gert Smolka. 2015. Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions. In Interactive Theorem Proving (ITP) 2015, Christian Urban and Xingyuan Zhang (Eds.). LNCS, Vol. 9236. Springer, 359–374.Google ScholarGoogle Scholar
  90. Carsten Schürmann, Joëlle Despeyroux, and Frank Pfenning. 2001. Primitive Recursion for Higher-Order Abstract Syntax. Theor. Comput. Sci. 266, 1-2 (2001), 1–57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Peter Sewell, Francesco Zappa Nardelli, Scott Owens, Gilles Peskine, Thomas Ridge, Susmit Sarkar, and Rok Strniša. 2010. Ott: Effective Tool Support for the Working Semanticist. J. Funct. Program. 20, 1 (2010), 71–122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Sam Staton. 2007. Name-Passing Process Calculi: Operational Models and Structural Operational Semantics. Technical Report UCAM-CL-TR-688. University of Cambridge, Computer Laboratory. https://www.cl.cam.ac.uk/techreports/ UCAM- CL- TR- 688.pdfGoogle ScholarGoogle Scholar
  93. Dmitriy Traytel, Andrei Popescu, and Jasmin Christian Blanchette. 2012. Foundational, Compositional (Co)datatypes for Higher-Order Logic: Category Theory Applied to Theorem Proving. In Logic in Computer Science (LICS) 2012. IEEE Computer Society, 596–605. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Christian Urban and Stefan Berghofer. 2006. A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL. In International Joint Conference on Automated Reasoning (IJCAR) 2006, Ulrich Furbach and Natarajan Shankar (Eds.). LNCS, Vol. 4130. Springer, 498–512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. Christian Urban, Stefan Berghofer, and Michael Norrish. 2007. Barendregt’s Variable Convention in Rule Inductions. In Conference on Automated Deduction (CADE) 2007, Frank Pfenning (Ed.). LNCS, Vol. 4603. Springer, 35–50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Christian Urban and Cezary Kaliszyk. 2012. General Bindings and Alpha-Equivalence in Nominal Isabelle. Logical Methods in Computer Science 8, 2 (2012).Google ScholarGoogle Scholar
  97. Christian Urban and Christine Tasson. 2005. Nominal Techniques in Isabelle/HOL. In Conference on Automated Deduction (CADE) 2005, Robert Nieuwenhuis (Ed.). LNCS, Vol. 3632. Springer, 38–53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. Hendrik van Antwerpen, Pierre Neron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. 2016. A Constraint Language for Static Semantic Analysis Based on Scope Graphs. In Partial Evaluation and Program Manipulation (PEPM) 2016, Martin Erwig and Tiark Rompf (Eds.). ACM, 49–60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. Stephanie Weirich, Brent A. Yorgey, and Tim Sheard. 2011. Binders Unbound. In International Conference on Functional Programming (ICFP) 2011, Manuel M. T. Chakravarty, Zhenjiang Hu, and Olivier Danvy (Eds.). ACM, 333–345. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. Brent Abraham Yorgey. 2014. Combinatorial Species and Labelled Structures. Ph.D. Dissertation. University of Pennsylvania.Google ScholarGoogle Scholar

Index Terms

  1. Bindings as bounded natural functors

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!