Proof principles for datatypes with iterated recursion

  • Ulrich Hensel
  • Bart Jacobs
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1290)


Data types like trees which are finitely branching and of (possibly) infinite depth are described by iterating initial algebras and terminal coalgebras. We study proof principles for such data types in the context of categorical logic, following and extending the approach of [14, 15]. The technical contribution of this paper involves a description of initial algebras and terminal coalgebras in total categories of fibrations for lifted “datafunctors”. These lifted functors are used to formulate our proof principles. We test these principles by proving some elementary results for four kinds of trees (with finite or infinite breadth or depth) using the proof tool Pvs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P. Aczel. Non-well-founded sets. CSLI Lecture Notes 14, Stanford, 1988.Google Scholar
  2. 2.
    R.C. Backhouse, P. Chisholm, G. Malcolm, and E. Saaman. Do-it-yourself type theory. Formal Aspects of Comp., 1:19–84, 1989.MATHCrossRefGoogle Scholar
  3. 3.
    F. Borceux. Handbook of Categorical Algebra, volume 50, 51 and 52 of Encyclopedia of Mathematics. Cambridge Univ. Press, 1994.Google Scholar
  4. 4.
    J.R.B. Cockett and T. Fukushima. About charity. Technical Report 92/480/18, Dep. Comp. Sci., Univ. Calgary, 1992.Google Scholar
  5. 5.
    J.R.B. Cockett and D. Spencer. Strong categorical datatypes II: A term logic for categorical programming. Theor. Comp. Sci., 139:69–113, 1995.MATHMathSciNetCrossRefGoogle Scholar
  6. 6.
    Th. Coquand and Ch. Paulin. Inductively defined types. In P. Martinlöf and G. Mints, editors, COLOG 88 International conference on computer logic, number 417 in Lect. Notes Comp. Sci., pages 50–66. Springer, Berlin, 1988.Google Scholar
  7. 7.
    P. Dybjer. Inductive families. Formal Aspects of Comp., 6:440–465, 1994.MATHCrossRefGoogle Scholar
  8. 8.
    M.P. Fiore. A coinduction principle for recursive data types based on bisimulation. Inf. & Comp., 127(2):186–198, 1996.MATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    E. Giménez. Implementation of co-inductive types in Coq: an experiment with the Alternating Bit Protocol. In S. Berardi and M. Coppo, editors, Types for Proofs and Programs, number 1158 in Lect. Notes Comp. Sci., pages 135–152. Springer, Berlin, 1996.Google Scholar
  10. 10.
    J.A. Goguen, J. Thatcher, and E. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. In R. Yeh, editor, Current Trends in Programming Methodology, pages 80–149. Prentice Hall, 1978.Google Scholar
  11. 11.
    U. Hensel and B. Jacobs. Coalgebraic theories of sequences in Pvs. Techn. Rep. CSI-119708, Comput. Sci. Inst., Univ. of Nijmegen, 1997.Google Scholar
  12. 12.
    U. Hensel and D. Spooner. A view on implementing processes: Categories of circuits. In M. Haveraaen, 0. Owe, and O.-J. Dahl, editors, Recent Trends in Data Type Specification, number 1130 in Lect. Notes Comp. Sci., pages 237–254. Springer, Berlin, 1996.Google Scholar
  13. 13.
    C. Hermida. Some properties of Fib as a fibred 2-category. Journ. Pure & Appl. Algebra, 1997, to appear.Google Scholar
  14. 14.
    C. Hermida and B. Jacobs. An algebraic view of structural induction. In L. Pacholski and J. Tiuryn, editors, Computer Science Logic 1994, number 933 in Lect. Notes Comp. Sci., pages 412–426. Springer, Berlin, 1995.Google Scholar
  15. 15.
    C. Hermida and B. Jacobs. Structural induction and coinduction in a fibrational setting. Full version of [14], 1996.Google Scholar
  16. 16.
    B. Jacobs. Parameters and parametrization in specification using distributive categories. Fund. Informaticae, 24(3):209–250, 1995.MATHMathSciNetGoogle Scholar
  17. 17.
    B. Jacobs. Invariants, bisimulations and the correctness of coalgebraic refinements. Techn. Rep. CSI-119704, Comput. Sci. Inst., Univ. of Nijmegen, 1997.Google Scholar
  18. 18.
    B. Jacobs. Categorical Logic and Type Theory. 1998, to appear.Google Scholar
  19. 19.
    B. Jay. Data categories. In M.E. Houle and P.Eades, editors, Computing: The Australasian Theory Symposium Proceedings, number 18 in Australian Comp. Sci. Comm., pages 21–28,1996.Google Scholar
  20. 20.
    M. Makkai. The fibrational formulation of intuitionistic predicate logic I: completeness according to Gödel, Kripke, and Läuchli. Part 1. Notre Dame Journ. Formal Log., 34(3):334–377, 1993.MATHMathSciNetCrossRefGoogle Scholar
  21. 21.
    M. Makkai. The fibrational formulation of intuitionistic predicate logic 1: completeness according to Gödel, Kripke, and Läuchli. Part 2. Notre Dame Journ. Formal Log., 34(4):471–499, 1993.MATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    N.P. Mendler. Inductive types and type constraints in second-order lambda calculus. Ann. Pure & Appl. Logic, 51(1/2):159–172, 1991.MATHMathSciNetCrossRefGoogle Scholar
  23. 23.
    E. Moggi. Notions of computation and monads. Inf. & Comp., 93(1):55–92, 1991.MATHMathSciNetCrossRefGoogle Scholar
  24. 24.
    S. Owre, S. Rajan, J.M. Rushby, N. Shankar, and M. Srivas. PVS: Combining specification, proof checking, and model checking. In R. Alur and T.A. Henzinger, editors, Computer Aided Verification, number 1102 in Lect. Notes Comp. Sci., pages 411–414. Springer, Berlin, 1996.Google Scholar
  25. 25.
    S. Owre, J.M. Rushby, N. Shankar, and F. von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Trans. on Softw. Eng., 21(2):107–125,1995.CrossRefGoogle Scholar
  26. 26.
    Ch. Paulin-Mohring. Inductive definitions in the system Coq. Rules and properties. In M. Bezem and J.F. Groote, editors, Typed Lambda Calculi and Applications, number 664 in Lect. Notes Comp. Sci., pages 328–345. Springer, Berlin, 1993.Google Scholar
  27. 27.
    L.C. Paulson. Mechanizing coinduction and corecursion in higher-order logic. Journ. of Logic and Computation, 7:175–204, 1997.MATHMathSciNetCrossRefGoogle Scholar
  28. 28.
    A.M. Pitts. A co-induction principle for recursively defined domains. Theor. Comp. Sci., 124(2):195–219, 1994.MATHMathSciNetCrossRefGoogle Scholar
  29. 29.
    J. Rutten and D. Turi. Initial algebra and final coalgebra semantics for concurrency. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, A Decade of Concurrency, number 803 in Lect. Notes Comp. Sci., pages 530–582. Springer, Berlin, 1994.Google Scholar
  30. 30.
    J.J.M.M. Rutten. Universal coalgebra: a theory of systems. CWI Report CS-119652, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Ulrich Hensel
    • 1
  • Bart Jacobs
    • 2
  1. 1.Inst. Theor. Inf., TU DresdenDresdenGermany
  2. 2.Dep. Comp. Sci.Univ. NijmegenGL NijmegenThe Netherlands

Personalised recommendations