Abstract syntax and variable binding

We develop a theory of abstract syntax with variable binding. To every binding signature we associate a category of models consisting of variable sets endowed with compatible algebra and substitution structures. The syntax generated by the signature is the initial model. This gives a notion of initial algebra semantics encompassing the traditional one; besides compositionality, it automatically verifies the semantic substitution lemma.

[1]  G. M. Kelly An abstract approach to coherence , 1972 .

[2]  P. J. Landin A λ-CALCULUS APPROACH , 1966 .

[3]  Robert D. Tennent,et al.  Semantics of programming languages , 1991, Prentice Hall International Series in Computer Science.

[4]  Wolfram Kahl,et al.  Relational Treatment of Term Graphs With Bound Variables , 1998, Log. J. IGPL.

[5]  E. Moggi,et al.  A fully-abstract model for the /spl pi/-calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[6]  Frank Pfenning,et al.  Primitive recursion for higher-order abstract syntax , 1997, Theoretical Computer Science.

[7]  Joseph A. Goguen,et al.  What Is Unification?: A Categorical View of Substitution, Equation and Solution , 1989 .

[8]  Roy L. Crole,et al.  Categories for Types , 1994, Cambridge mathematical textbooks.

[9]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[10]  Daniele Turi,et al.  Axiomatic domain theory in categories of partial maps , 1998 .

[11]  Alley Stoughton,et al.  Substitution Revisited , 1988, Theor. Comput. Sci..

[12]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[13]  I. Moerdijk,et al.  Sheaves in geometry and logic: a first introduction to topos theory , 1992 .

[14]  P. Aczel Frege Structures and the Notions of Proposition, Truth and Set* , 1980 .

[15]  G. Rota Introduction to higher order categorical logic , 1988 .

[16]  Yong Sun Framework for binding operators , 1991 .

[17]  Christopher Strachey,et al.  The varieties of programming language , 1972 .

[18]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[19]  S. Lane Categories for the Working Mathematician , 1971 .

[20]  George Gratzer,et al.  Universal Algebra , 1979 .

[21]  A. Joyal Foncteurs analytiques et espèces de structures , 1986 .

[22]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[23]  Dale Miller,et al.  An Extension to ML to Handle Bound Variables in Data Structures: Preliminary Report , 1990 .

[24]  Tobias Nipkow,et al.  Higher-order critical pairs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[25]  Desmond Fearnley-Sander,et al.  Universal Algebra , 1982 .

[26]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[27]  Miki Tanaka Abstract Syntax and Variable Binding for Linear Binders , 2000, MFCS.

[28]  Francis Borceux,et al.  Handbook of Categorical Algebra: Bibliography , 1994 .

[29]  Dale Miller,et al.  A logic for reasoning with higher-order abstract syntax , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[30]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[31]  Francis Borceux,et al.  Handbook of Categorical Algebra: Internal category theory , 1994 .

[32]  P. Lincoln,et al.  Operational aspects of linear lambda calculus , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[33]  Robin Milner,et al.  Edinburgh LCF , 1979, Lecture Notes in Computer Science.

[34]  Frank Pfenning,et al.  Primitive recursion for higher-order abstract syntax , 1997, Theor. Comput. Sci..

[35]  M. Barr,et al.  Toposes, Triples and Theories , 1984 .

[36]  John McCarthy,et al.  Towards a Mathematical Science of Computation , 1962, IFIP Congress.

[37]  G. M. Kelly Applications of Categories in Computer Science: On clubs and data-type constructors , 1992 .

[38]  Rod M. Burstall,et al.  Proving Properties of Programs by Structural Induction , 1969, Comput. J..

[39]  Gordon D. Plotkin,et al.  Towards a mathematical operational semantics , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[40]  Gopalan Nadathur,et al.  A Logic Programming Approach to Manipulating Formulas and Programs , 1987, SLP.

[41]  Dana S. Scott,et al.  The lattice of flow diagrams , 1971, Symposium on Semantics of Algorithmic Languages.

[42]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .