Title :
Fibred Data Types
Author :
Ghani, N. ; Malatesta, Lorenzo ; Forsberg, Fredrik Nordvall ; Setzer, Annette
Author_Institution :
MSP Group, Univ. of Strathclyde, Glasgow, UK
Abstract :
Data types are undergoing a major leap forward in their sophistication driven by a conjunction of i) theoretical advances in the foundations of data types; and ii) requirements of programmers for ever more control of the data structures they work with. In this paper we develop a theory of indexed data types where, crucially, the indices are generated inductively at the same time as the data. In order to avoid commitment to any specific notion of indexing we take an axiomatic approach to such data types using fibrations - thus giving us a theory of what we call fibred data types. The genesis of these fibred data types can be traced within the literature, most notably to Dybjer and Setzer´s introduction of the concept of induction-recursion. This paper, while drawing heavily on their seminal work for inspiration, gives a categorical reformulation of Dybjer and Setzer´s original work which leads to a large number of extensions of induction-recursion. Concretely, the paper provides i) conceptual clarity as to what inductionrecursion fundamentally is about; ii) greater expressiveness in allowing not just the inductive-recursive definition of families of sets, or even indexed families of sets, but rather the inductiverecursive definition of a whole host of other structures; iii) a semantics for induction-recursion based not on the specific model of families, but rather an axiomatic model based upon fibrations which therefore encompasses diverse structures (domain theoretic, realisability, games etc) arising in the semantics of programming languages; and iv) technical justification as to why these fibred data types exist using large cardinals from set theory.
Keywords :
data structures; indexing; set theory; axiomatic model; cardinals; categorical reformulation; data structures; fibred data types; indexing; induction recursion; inductive recursive definition; set theory; Algebra; Computer languages; Containers; Decoding; Indexing; Semantics; data types; fibrations; initial algebras;
Conference_Titel :
Logic in Computer Science (LICS), 2013 28th Annual IEEE/ACM Symposium on
Conference_Location :
New Orleans, LA
Print_ISBN :
978-1-4799-0413-6
DOI :
10.1109/LICS.2013.30