A New Approach to Abstract Syntax with Variable Binding
2002, Formal Aspects of Computing
https://doi.org/10.1007/S001650200016Abstract
The permutation model of set theory with atoms (FM-sets), devised by Fraenkel and Mostowski in the 1930s, supports notions of 'name-abstraction' and 'fresh name' that provide a new way to represent, compute with, and reason about the syntax of formal systems involving variable-binding operations. Inductively defined FM-sets involving the name-abstraction set former (together with Cartesian product and disjoint union) can correctly encode syntax modulo renaming of bound variables. In this way, the standard theory of algebraic data types can be extended to encompass signatures involving binding operators. In particular, there is an associated notion of structural recursion for defining syntax-manipulating functions (such as capture avoiding substitution, set of free variables, etc.) and a notion of proof by structural induction, both of which remain pleasingly close to informal practice in computer science.
References (52)
- Abadi, M. and Gordon, A. D.: A calculus for cryptographic protocols: the spi calculus. Information and Computation, 148:1-70, 1999.
- Barendregt, H. P.: The Lambda Calculus: Its Syntax and Semantics. (rev.edn). North-Holland, Amsterdam, 1984.
- Burstall, R. M.: Proving properties of programs by structural induction. Computer Journal, 12:41-48, 1969.
- Burstall, R. M.: Design considerations for a functional programming language. In Proceedings of the Infotech State of the Art Conference, Copenhagen, 1977.
- Cardelli, L. and Gordon, A. D.: Logical properties of name restriction. In Typed Lambda Calculus and Applications, 5th International Conference, Vol. 2044 of Lecture Notes in Computer Science. Springer, Berlin, 2001.
- Cardelli, L. and Gordon, A. D.: Mobile ambients. Theoretical Computer Science, 240:177-213, 2000.
- Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic, 5:56-68, 1940.
- Curien, P.-L.: Categorical Combinators, Sequential Algorithms, and Functional Programming. Birkhäuser, Basel, 1993.
- de Bruijn, N. G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indag. Math., 34:381-392, 1972.
- Despeyroux, J.: A higher-order specification of the pi-calculus. In IFIP International Conference on Theoretical Computer Science, IFIP TCS'2000, Sendai, Japan, 2000.
- Despeyroux, J., Pfenning, F. and Schürmann, C.: Primitive recursion for higher-order abstract syntax. In Typed Lambda Calculus and Applications, 3rd International Conference, Vol. 1210 of Lecture Notes in Computer Science, Springer, Berlin, 1997, pp. 147-163.
- Fiore, M. P., Moggi, E. and Sangiorgi, D.: A fully abstract model for the π-calculus (extended abstract). In Eleventh Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1996, pp. 43-54.
- Fiore, M. P., Plotkin, G. D. and Turi, D.: Abstract syntax and variable binding. In 14th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1999, pp. 193-202.
- Fourman, M. P.: Sheaf models for set theory. Journal of Pure and Applied Algebra, 19:91-101, 1980.
- Gabbay, M. J.: A theory of inductive definitions with α-equivalence: semantics, implementation, programming language. PhD thesis, Cambridge University, 2000.
- Girard, J.-Y.: Interprétation fonctionelle et élimination des coupures dans l'arithmetique d'ordre supérieur. PhD thesis, Uni- versité Paris VII, 1972.
- Gordon, M. J. C. and Melham, T. F.: Introduction to HOL. A theorem proving environment for higher order logic. Cambridge University Press, 1993.
- Gordon, A. D. and Melham, T.: Five axioms of alpha-conversion. In Theorem Proving in Higher Order Logics: 9th Interational Conference, TPHOLs'96, Vol. 1125 of Lecture Notes in Computer Science, Springer, Berlin, 1996, pp. 173-191.
- Gabbay, M. J. and Pitts, A. M.: A new approach to abstract syntax involving binders. In 14th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1999, pp. 214-224.
- Goguen, J. A., Thatcher, J. W., Wagner, E. G. and Wright, J. B.: Initial algebra semantics and continuous algebras. JACM, 24:68-95, 1977.
- Gunter, C. A.: Semantics of Programming Languages: Structures and Techniques. Foundations of Computing. MIT Press, Cambridge, MA, 1992.
- Honsell, F., Miculan, M. and Scagnetto, I.: π-calculus in (co)inductive type theory. Technical report, Dipartimento di Matematica e Informatica, Universit à degli Studi di Udine, 1998.
- Hofmann, M.: Semantical analysis of higher-order abstract syntax. In 14th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1999, pp. 204-213.
- Honda, K.: Elementary structures in process theory (1): Sets with renaming. Mathematical Structures in Computer Science, 10:617-663, 2000.
- Jech, T. J.: About the axiom of choice. In J. Barwise, editor, Handbook of Mathematical Logic, North-Holland, Amsterdam, 1977, pp. 345-370.
- Joyal, A. and Moerdijk, I.: Algebraic Set Theory. Number 220 in London Mathematical Society Lecture Notes in Mathe- matics. Cambridge University Press, Cambridge, UK, 1995.
- Johnstone, P. T.: Quotients of decidable objects in a topos. Mathematical Proceedings of Cambridge Philosophical Society, 93:409-419, 1983.
- Jeffrey, A. and Rathke, J.: Towards a theory of bisimulation for local names. In 14th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1999, pp. 56-66.
- Lamport, L. and Paulson, L. C.: Should your specification language be typed? ACM Transactions on Programming Languages and Systems, 21(3):502-526, 1999.
- Lambek, J. and Scott, P. J.: Introduction to Higher Order Categorical Logic. Cambridge University Press, Cambridge, UK, 1986.
- Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis, Naples, 1984.
- MacLane, S. and Moerdijk, I.: Sheaves in Geometry and Logic: A First Introduction to Topos Theory. Springer, New York, 1992.
- McDowell, R. and Miller, D.: A logic for reasoning with higher-order abstract syntax. In 12th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1997, pp. 434-445.
- Moggi, E.: An abstract view of programming languages. Technical Report ECS-LFCS-90-113, Department of Computer Science, University of Edinburgh, 1989.
- Montanari, U. and Pistore, M.: π-Calculus, structured coalgebras and minimal HD-automata. In 25th International Symposium on Mathematical Foundations of Computer Science, Bratislava, Slovak Republic, Vol. 1893 of Lecture Notes in Computer Science, Springer, Berlin, 2000.
- Milner, R., Parrow, J. and Walker, D.: A calculus of mobile processes (parts I and II). Information and Computation, 100:1-77, 1992.
- Milner, R., Tofte, M., Harper, R. and MacQueen, D.: The Definition of Standard ML (Revised). MIT Press, Cambridge, MA, 1997.
- Paulson, L. C.: Isabelle: A Generic Theorem Prover, Vol. 828 of Lecture Notes in Computer Science. Springer, Berlin, 1994.
- Pfenning, F. and Elliott, C.: Higher-order abstract syntax. In Proceedings of ACM-SIGPLAN Conference on Programming Language Design and Implementation, ACM Press, New York, 1988, pp. 199-208.
- Pitts, A. M. and Gabbay, M. J.: A metalanguage for programming with bound names modulo renaming. In R. Backhouse and J. N. Oliveira, editors, Mathematics of Program Construction: 5th International Conference, MPC2000, Ponte de Lima, Portugal, July 2000. Vol. 1837 of Lecture Notes in Computer Science, Springer, Heidelberg, 2000, pp. 230-255.
- Plotkin, G. D.: A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, 1981.
- Paulin-Mohring, C.: Inductive definitions in the system Coq; rules and properties. In M. Bezem and J. F. Groote, editors, Typed Lambda Calculus and Applications, Vol. 664 of Lecture Notes in Computer Science, Springer, Berlin, 1993, pp. 328-345.
- Pitts, A. M. and Stark, I. D. B.: Observable properties of higher order functions that dynamically create local names, or: What's new? In Mathematical Foundations of Computer Science, Proceedings of the 18th International Symposium, Gda ńsk. Vol. 711 of Lecture Notes in Computer Science, Springer, Berlin, 1993, pp. 122-141.
- Pitts, A. M. and Stark, I. D. B.: On the observable properties of higher order functions that dynamically create local names (preliminary report). In Workshop on State in Programming Languages, Copenhagen, ACM SIGPLAN, Technical Report YALEU/DCS/RR-968, Yale University Department of Computer Science, 1993, pp. 31-45.
- Quine, W. V. O.: Set Theory and its Logic (rev. edn). Harvard University Press, Cambridge, MA, 1963.
- Reynolds, J. C.: Types, abstraction and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, North-Holland, Amsterdam, 1983, pp. 513-523.
- Scott, D. S.: A type-theoretical alternative to ISWIM, CUCH, OWHY. Theoretical Computer Science, 121:411-440, 1993.
- Shoenfield, J. R.: Axioms of set theory. In J. Barwise, editor, Handbook of Mathematical Logic, North-Holland, Amsterdam, 1977, pp. 321-344.
- Stark, I. D. B.: Names and Higher-Order Functions. PhD thesis, University of Cambridge, 1995. Also published as Technical Report 363, University of Cambridge Computer Laboratory, April 1995.
- Stark, I. D. B.: Categorical models for local names. Lisp and Symbolic Computation, 9(1):77-107, 1996.
- Stark, I. D. B.: A fully abstract domain model for the π-calculus. In 11th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, Washington, DC, 1996, pp. 36-42.
- Stoughton, A.: Substitution revisited. Theoretical Computer Science, 59:317-325, 1988. Received October 2000