Polymoprhic Algebraic Theoreis - Syntax, Semantics, Translations, and Eqational Logic - LICS 2013, June, Tulane University University of Cambridge, UK Marcelo Fiore Makoto Hamana Gunma University, Japan
W h a t i s P o l y m o r p h i s m Polymorphic types = “variable types” have many instances
Various Polymorphic Sytems [Girard’71, Reynolds’74] System F OO Languages ML, Haskell System Fω Java, C++, Scala,etc. [Milner’75,78] System Fc↑ λU [Yorgey et al.’12] [Girard’72] Polymorphic Polymorphic Contracts Polymorphic π -calculus Record Calculus [Guha, et al. ’07] [Belo et al.’11] [Ohori’95] [Pierce, Sanngiorgi’00] Polymorphic Polymorphic XML Logic Programming [Hosoya et al.’09] [Shapiro’91][Hanus’91] ⇒ U n i f i e d T h e o r y f o r P o l y m o r p h i s m ⇒Mutiversal Polymoprhic Algebraic Theoreis
o f Ty p e s System F Tyeps OO Languages ML, Haskell System Fω Java, C++, Scala,etc. Tyeps Tyeps Tyeps System Fc↑ λU Tyeps Tyeps Polymorphic Contracts Polymorphic Polymorphic π -calculus Tyeps Record Calculus Tyeps Tyeps Polymorphic Polymorphic XML Logic Programming Tyeps Tyeps - Universe = collection of all types (cf. Martin-Lof Type Theory) = multiple type universes - Translation = algebra homomorphism
How to give Algebraic Theory • Signatures, terms, equations • Clones in universal algebra • Lawvere theories • (Finitary) monads • Cartesian multicategories
Polymorphic W h a t i s a n Al g e b ra i c T h e o r y types, contexts • Signatures, terms, equations
(Polymorphic λ-calculus) metavariable object variable type metavariable meta-level subst. binding Various other examples - Existential λ - Polymorphic FPC - Algebraic theory for global state
How to Built Polymorphic Algebirac Theory Algebraic Characterisation of Untyped Syntax with Variable Binding [Fiore, Plotkin, Turi LICSʼ99 ] with Metavariables Polymorphic Abstract Syntax [H. APLASʼ04 ] [H. FoSSaCSʼ11 ] via Σ-monoids via Grothendieck Constr. This work Polymorphic Abstract Syntax with Metavariables Polymorphic Algebraic Theories
initial F-algebra
(Polymorphic λ-calculus)
Polymorphic Case ? Esp. type univese ⇒Collect all possible dependent triples
Types depend on type variable contexts Def. A universe of polymorphic types is a Σ-monoid . signature for type constructors
Category of Discourse for Polymorphic Systems The Grothendieck Construction gives dependent triples. type context
(Polymorphic λ-calculus) type metavariable meta-level subst.
Endofunctor for Polymorphic Syntax signature universe = -monoid polynomial diagram in Cat [Moerdijk, Palmgren, Gambino, Hyland,Kock, Batanin, Weber,...] endofunctor
General notion of models
Free polymorphic structure as “syntax with metavariabls” metavariabels Homomorphism = interpretation Category - polymorphic strucres - homomorphisms Any polymorphic structure as “semantics” ▶ We may want to change a universe U in interpretation
metavariable type metavariable meta-level subst. binding Various examples - Existential λ - Polymorphic FPC - Algebraic theory for global state
Paper Multiversal Polymorphic Algebraic Theories: Syntax, Semantics, Translations, and Equational Logic Proc. of Twenty-Eighth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2013), IEEE Press. http://www.cs.gunma-u.ac.jp/~hamana/
Recommend
More recommend