Multiversal Polymorphic Algebraic Theories: Syntax, Semantics, Translations, and Equational Logic

We formalise and study the notion of polymorphic algebraic theory, as understood in the mathematical vernacular as a theory presented by equations between polymorphically-typed terms with both type and term variable binding. The prototypical example of a polymorphic algebraic theory is System F, but our framework applies more widely. The extra generality stems from a mathematical analysis that has led to a unified theory of polymorphic algebraic theories with the following ingredients: ; polymorphic signatures that specify arbitrary polymorphic operators (e.g. as in extended λ-calculi and algebraic effects); ; metavariables, both for types and terms, that enable the generic description of meta-theories; ; multiple type universes that allow a notion of translation between theories that is parametric over different type universes; ; polymorphic structures that provide a general notion of algebraic model (including the PL-category semantics of System F); ; a Polymorphic Equational Logic that constitutes a sound and complete logical framework for equational reasoning. Our work is semantically driven, being based on a hierarchical two-levelled algebraic modelling of abstract syntax with variable binding.

[1]  Marcelo. Fiore Discrete Generalised Polynomial Functors ( Extended , 2012 .

[2]  Makoto Hamana,et al.  Polymorphic Abstract Syntax via Grothendieck Construction , 2011, FoSSaCS.

[3]  Makoto Hamana,et al.  A foundation for GADTs and inductive families: dependent polynomial functor approach , 2011, WGP@ICFP.

[4]  I. Stark Free-Algebra Models for the π-Calculus , 1997 .

[5]  Erik Palmgren,et al.  Wellfounded trees in categories , 2000, Ann. Pure Appl. Log..

[6]  Chung-Kil Hur,et al.  Second-order equational logic , 2010, CSL 2010.

[7]  R. A. G. Seely,et al.  Categorical semantics for higher order polymorphic lambda calculus , 1987, Journal of Symbolic Logic.

[8]  Tom Leinster Higher Operads, Higher Categories , 2003 .

[9]  Jean-Yves Girard,et al.  The System F of Variable Types, Fifteen Years Later , 1986, Theor. Comput. Sci..

[10]  Sam Staton,et al.  Two Cotensors in One: Presentations of Algebraic Theories for Local State and Fresh Names , 2009, MFPS.

[11]  Ola Mahmoud,et al.  Second-order algebraic theories , 2011 .

[12]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[13]  Chung-Kil Hur,et al.  On the construction of free algebras for equational systems , 2009, Theor. Comput. Sci..

[14]  Marcelo P. Fiore,et al.  Second-Order and Dependently-Sorted Abstract Syntax , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[15]  Chung-Kil Hur,et al.  Second-Order Equational Logic (Extended Abstract) , 2010, CSL.

[16]  Makoto Hamana Higher-order semantic labelling for inductive datatype systems , 2007, PPDP '07.

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

[18]  Marino Miculan,et al.  A framework for typed HOAS and semantics , 2003, PPDP '03.

[19]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[20]  Marcelo P. Fiore,et al.  Mathematical Models of Computational and Combinatorial Structures , 2005, FoSSaCS.

[21]  Ken-etsu Fujita,et al.  Galois Embedding from Polymorphic Types into Existential Types , 2005, TLCA.

[22]  Robert Paré,et al.  Abstract families and the adjoint functor theorems , 1978 .

[23]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

[24]  Gordon D. Plotkin,et al.  Abstract syntax and variable binding , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[25]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

[26]  Martin Hofmann Semantical analysis of higher-order abstract syntax , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[27]  Martin Hyland,et al.  Wellfounded Trees and Dependent Polynomial Functors , 2003, TYPES.

[28]  Gordon D. Plotkin,et al.  Notions of Computation Determine Monads , 2002, FoSSaCS.

[29]  Makoto Hamana Universal Algebra for Termination of Higher-Order Rewriting , 2005, RTA.

[30]  Giuseppe Castagna,et al.  Parametric polymorphism for XML , 2005, POPL '05.

[31]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[32]  Rasmus Ejlers Møgelberg From parametric polymorphism to models of polymorphic FPC , 2009, Mathematical Structures in Computer Science.

[33]  F. William Lawvere,et al.  Adjointness in Foundations , 1969 .

[34]  Chung-Kil Hur,et al.  Strongly Typed Term Representations in Coq , 2011, Journal of Automated Reasoning.

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

[36]  Makoto Hamana,et al.  An initial algebra approach to term rewriting systems with variable binders , 2006, High. Order Symb. Comput..

[37]  Makoto Hamana Free S-Monoids: A Higher-Order Syntax with Metavariables , 2004, APLAS.