Skip to main content

Fibrational Induction Rules for Initial Algebras

  • Conference paper
Computer Science Logic (CSL 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6247))

Included in the following conference series:

Abstract

This paper provides an induction rule that can be used to prove properties of data structures whose types are inductive, i.e., are carriers of initial algebras of functors. Our results are semantic in nature and are inspired by Hermida and Jacobs’ elegant algebraic formulation of induction for polynomial data types. Our contribution is to derive, under slightly different assumptions, an induction rule that is generic over all inductive types, polynomial or not. Our induction rule is generic over the kinds of properties to be proved as well: like Hermida and Jacobs, we work in a general fibrational setting and so can accommodate very general notions of properties on inductive types rather than just those of particular syntactic forms. We establish the correctness of our generic induction rule by reducing induction to iteration. We show how our rule can be instantiated to give induction rules for the data types of rose trees, finite hereditary sets, and hyperfunctions. The former lies outside the scope of Hermida and Jacobs’ work because it is not polynomial; as far as we are aware, no induction rules have been known to exist for the latter two in a general fibrational framework. Our instantiation for hyperfunctions underscores the value of working in the general fibrational setting since this data type cannot be interpreted as a set.

This research is partially supported by EPSRC grant EP/C0608917/1.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bird, R.S., De Moor, O.: Algebra of Programming. International Series in Computing Science, vol. 100. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  2. Bird, R., Meertens, L.: Nested Datatypes. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol. 1422, pp. 52–67. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  3. Coquand, T., Huet, G.: The Calculus of Constructions. Information and Computation 76(2-3), 95–120 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  4. The Coq Proof Assistant, coq.inria.fr

  5. Ghani, N., Johann, P.: Foundations for Structured Programming with GADTs. In: Proceedings, Principles of Programming Languages, pp. 297–308 (2008)

    Google Scholar 

  6. Hermida, C., Jacobs, B.: Structural Induction and Coinduction in a Fibrational Setting. Information and Computation 145(2), 107–152 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  7. Jacobs, B.: Comprehension Categories and the Semantics of Type Dependency. Theoretical Computer Science 107, 169–207 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  8. Jacobs, B.: Categorical Logic and Type Theory. North Holland, Amsterdam (1999)

    MATH  Google Scholar 

  9. Johann, P., Ghani, N.: Initial Algebra Semantics is Enough! Proceedings, Typed Lambda Calculus and Applications, pp. 207–222 (2007)

    Google Scholar 

  10. Lawvere, F.W.: Equality in Hyperdoctrines and Comprehension Scheme as an Adjoint Functor. Applications of Categorical Algebra, 1–14 (1970)

    Google Scholar 

  11. Matthes, R.: An Induction Principle for Nested Datatypes in Intensional Type Theory. Journal of Functional Programming 19(3&4), 439–468 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  12. Morris, P.: Constructing Universes for Generic Programming. Dissertation, University of Nottingham (2007)

    Google Scholar 

  13. Moggi, E.: Notations of Computation and Monads. Information and Computation 93(1), 55–92 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  14. Pavlovic, D.: Predicates and Fibrations. Dissertation, University of Utrecht (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ghani, N., Johann, P., Fumex, C. (2010). Fibrational Induction Rules for Initial Algebras. In: Dawar, A., Veith, H. (eds) Computer Science Logic. CSL 2010. Lecture Notes in Computer Science, vol 6247. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15205-4_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15205-4_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15204-7

  • Online ISBN: 978-3-642-15205-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics