A Coalgebraic Foundation for Coinductive Union Types

This paper introduces a coalgebraic foundation for coinductive types, interpreted as sets of values and extended with set theoretic union. We give a sound and complete characterization of semantic subtyping in terms of inclusion of maximal traces. Further, we provide a technique for reducing subtyping to inclusion between sets of finite traces, based on approximation. We obtain inclusion of tree languages as a sound and complete method to show semantic subtyping of recursive types with basic types, product and union, interpreted coinductively.

[1]  Zoltán Ésik,et al.  Axiomatizing the equational theory of regular tree languages , 2010, J. Log. Algebraic Methods Program..

[2]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[3]  Christina L. Hennessey ACM Digital Library , 2012 .

[4]  Davide Ancona,et al.  Coinductive Type Systems for Object-Oriented Languages , 2009, ECOOP.

[5]  Bartek Klin,et al.  Bialgebras for structural operational semantics: An introduction , 2011, Theor. Comput. Sci..

[6]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[7]  Benjamin C. Pierce,et al.  Recursive subtyping revealed , 2000, Journal of Functional Programming.

[8]  Roberto Di Cosmo,et al.  Subtyping Recursive Types Modulo Associative Commutative Products , 2005, TLCA.

[9]  Davide Ancona,et al.  Coinductive subtyping for abstract compilation of object-oriented languages into Horn formulas , 2010, GANDALF.

[10]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[11]  Davide Ancona,et al.  Complete coinductive subtyping for abstract compilation of object-oriented languages , 2010, FTfJP@ECOOP.

[12]  Alexandra Silva,et al.  Sound and Complete Axiomatizations of Coalgebraic Language Equivalence , 2011, TOCL.

[13]  Flemming M. Damm,et al.  Subtyping with Union Types, Intersection Types and Recursive Types , 1994, TACS.

[14]  Alexandra Silva,et al.  Automatic equivalence proofs for non-deterministic coalgebras , 2013, Sci. Comput. Program..

[15]  Jan J. M. M. Rutten,et al.  Universal coalgebra: a theory of systems , 2000, Theor. Comput. Sci..

[16]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ACM SIGPLAN Notices.

[17]  Giuseppe Castagna,et al.  Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types , 2008, JACM.

[18]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2005, ACM Trans. Program. Lang. Syst..

[19]  Benjamin C. Pierce,et al.  XDuce: A statically typed XML processing language , 2003, TOIT.

[20]  Corina Cîrstea,et al.  From Branching to Linear Time, Coalgebraically , 2013, Fundam. Informaticae.

[21]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[22]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[23]  Peter Aczel,et al.  Infinite trees and completely iterative theories: a coalgebraic view , 2003, Theor. Comput. Sci..

[24]  Fritz Henglein,et al.  Coinductive Axiomatization of Recursive Type Equality and Subtyping , 1998, Fundam. Informaticae.

[25]  Sophia Drossopoulou ECOOP 2009 - Object-Oriented Programming, 23rd European Conference, Genoa, Italy, July 6-10, 2009. Proceedings , 2009, ECOOP.

[26]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[27]  Bart Jacobs Trace Semantics for Coalgebras , 2004, CMCS.

[28]  Ana Sokolova,et al.  Generic Trace Semantics via Coinduction , 2007, Log. Methods Comput. Sci..