Abstract
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.
This paper was written during a visit of Ulrich Hensel to the Computing Science Institute of the University of Nijmegen.
Preview
Unable to display preview. Download preview PDF.
References
P. Aczel. Non-well-founded sets. CSLI Lecture Notes 14, Stanford, 1988.
R.C. Backhouse, P. Chisholm, G. Malcolm, and E. Saaman. Do-it-yourself type theory. Formal Aspects of Comp., 1:19–84, 1989.
F. Borceux. Handbook of Categorical Algebra, volume 50, 51 and 52 of Encyclopedia of Mathematics. Cambridge Univ. Press, 1994.
J.R.B. Cockett and T. Fukushima. About charity. Technical Report 92/480/18, Dep. Comp. Sci., Univ. Calgary, 1992.
J.R.B. Cockett and D. Spencer. Strong categorical datatypes II: A term logic for categorical programming. Theor. Comp. Sci., 139:69–113, 1995.
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.
P. Dybjer. Inductive families. Formal Aspects of Comp., 6:440–465, 1994.
M.P. Fiore. A coinduction principle for recursive data types based on bisimulation. Inf. & Comp., 127(2):186–198, 1996.
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.
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.
U. Hensel and B. Jacobs. Coalgebraic theories of sequences in Pvs. Techn. Rep. CSI-119708, Comput. Sci. Inst., Univ. of Nijmegen, 1997.
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.
C. Hermida. Some properties of Fib as a fibred 2-category. Journ. Pure & Appl. Algebra, 1997, to appear.
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.
C. Hermida and B. Jacobs. Structural induction and coinduction in a fibrational setting. Full version of [14], 1996.
B. Jacobs. Parameters and parametrization in specification using distributive categories. Fund. Informaticae, 24(3):209–250, 1995.
B. Jacobs. Invariants, bisimulations and the correctness of coalgebraic refinements. Techn. Rep. CSI-119704, Comput. Sci. Inst., Univ. of Nijmegen, 1997.
B. Jacobs. Categorical Logic and Type Theory. 1998, to appear.
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.
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.
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.
N.P. Mendler. Inductive types and type constraints in second-order lambda calculus. Ann. Pure & Appl. Logic, 51(1/2):159–172, 1991.
E. Moggi. Notions of computation and monads. Inf. & Comp., 93(1):55–92, 1991.
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.
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.
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.
L.C. Paulson. Mechanizing coinduction and corecursion in higher-order logic. Journ. of Logic and Computation, 7:175–204, 1997.
A.M. Pitts. A co-induction principle for recursively defined domains. Theor. Comp. Sci., 124(2):195–219, 1994.
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.
J.J.M.M. Rutten. Universal coalgebra: a theory of systems. CWI Report CS-119652, 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hensel, U., Jacobs, B. (1997). Proof principles for datatypes with iterated recursion. In: Moggi, E., Rosolini, G. (eds) Category Theory and Computer Science. CTCS 1997. Lecture Notes in Computer Science, vol 1290. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026991
Download citation
DOI: https://doi.org/10.1007/BFb0026991
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63455-3
Online ISBN: 978-3-540-69552-3
eBook Packages: Springer Book Archive