Abstract
Induction-induction is a principle for defining data types in Martin-Löf Type Theory. An inductive-inductive definition consists of a set A, together with an A-indexed family B : A → Set, where both A and B are inductively defined in such a way that the constructors for A can refer to B and vice versa. In addition, the constructors for B can refer to the constructors for A. We extend the usual initial algebra semantics for ordinary inductive data types to the inductive-inductive setting by considering dialgebras instead of ordinary algebras. This gives a new and compact formalisation of inductive-inductive definitions, which we prove is equivalent to the usual formulation with elimination rules.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abbott, M., Altenkirch, T., Ghani, N.: Containers: Constructing strictly positive types. Theoretical Computer Science 342(1), 3–27 (2005)
Altenkirch, T., Morris, P.: Indexed containers. In: 24th Annual IEEE Symposium on Logic In Computer Science, LICS 2009, pp. 277–285 (2009)
Chapman, J.: Type theory should eat itself. Electronic Notes in Theoretical Computer Science 228, 21–36 (2009)
Danielsson, N.A.: A formalisation of a dependently typed language as an inductive-recursive family. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 93–109. Springer, Heidelberg (2007)
Dybjer, P.: Inductive families. Formal Aspects of Computing 6(4), 440–465 (1994)
Dybjer, P.: Internal type theory. In: Berardi, S., Coppo, M. (eds.) TYPES 1995. LNCS, vol. 1158, pp. 120–134. Springer, Heidelberg (1996)
Dybjer, P., Setzer, A.: A finite axiomatization of inductive-recursive definitions. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 129–146. Springer, Heidelberg (1999)
Dybjer, P., Setzer, A.: Induction–recursion and initial algebras. Annals of Pure and Applied Logic 124(1-3), 1–47 (2003)
Ghani, N., Johann, P., Fumex, C.: Fibrational induction rules for initial algebras. In: Dawar, A., Veith, H. (eds.) CSL 2010. LNCS, vol. 6247, pp. 336–350. Springer, Heidelberg (2010)
Goguen, J., Thatcher, J., Wagner, E., Wright, J.: Initial algebra semantics and continuous algebras. Journal of the ACM 24(1), 68–95 (1977)
Hagino, T.: A Categorical Programming Language. Ph.D. thesis, University of Edinburgh (1987)
Hermida, C., Jacobs, B.: Structural induction and coinduction in a fibrational setting. Information and Computation 145(2), 107–152 (1998)
Hofmann, M.: Syntax and semantics of dependent types. In: Semantics and Logics of Computation, pp. 79–130. Cambridge University Press, Cambridge (1997)
Martin-Löf, P.: Intuitionistic type theory. Bibliopolis Naples (1984)
Nordström, B., Petersson, K., Smith, J.: Programming in Martin-Löf’s type theory: an introduction. Oxford University Press, Oxford (1990)
Nordvall Forsberg, F., Setzer, A.: Inductive-inductive definitions. In: Dawar, A., Veith, H. (eds.) CSL 2010. LNCS, vol. 6247, pp. 454–468. Springer, Heidelberg (2010)
Norell, U.: Towards a practical programming language based on dependent type theory. Ph.D. thesis, Chalmers University of Technology (2007)
Poll, E., Zwanenburg, J.: From algebras and coalgebras to dialgebras. Electronic Notes in Theoretical Computer Science 44(1), 289–307 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Altenkirch, T., Morris, P., Nordvall Forsberg, F., Setzer, A. (2011). A Categorical Semantics for Inductive-Inductive Definitions. In: Corradini, A., Klin, B., Cîrstea, C. (eds) Algebra and Coalgebra in Computer Science. CALCO 2011. Lecture Notes in Computer Science, vol 6859. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22944-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-22944-2_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22943-5
Online ISBN: 978-3-642-22944-2
eBook Packages: Computer ScienceComputer Science (R0)