Skip to main content Accessibility help
Hostname: page-component-7d684dbfc8-26pbs Total loading time: 0 Render date: 2023-09-26T22:07:58.696Z Has data issue: false Feature Flags: { "corePageComponentGetUserInfoFromSharedSession": true, "coreDisableEcommerce": false, "coreDisableSocialShare": false, "coreDisableEcommerceForArticlePurchase": false, "coreDisableEcommerceForBookPurchase": false, "coreDisableEcommerceForElementPurchase": false, "coreUseNewShare": true, "useRatesEcommerce": true } hasContentIssue false

2 - An introduction to (co)algebra and (co)induction

Published online by Cambridge University Press:  05 November 2011

Bart Jacobs
Radboud University Nijmegen
Jan Rutten
Radboud University Nijmegen
Davide Sangiorgi
University of Bologna, Italy
Jan Rutten
Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
Get access



Algebra is a well-established part of mathematics, dealing with sets with operations satisfying certain properties, like groups, rings, vector spaces, etc. Its results are essential throughout mathematics and other sciences. Universal algebra is a part of algebra in which algebraic structures are studied at a high level of abstraction and in which general notions like homomorphism, subalgebra, congruence are studied in themselves, see e.g. [Coh81, MT92, Wec92]. A further step up the abstraction ladder is taken when one studies algebra with the notions and tools from category theory. This approach leads to a particularly concise notion of what is an algebra (for a functor or for a monad), see for example [Man74]. The conceptual world that we are about to enter owes much to this categorical view, but it also takes inspiration from universal algebra, see e.g. [Rut00].

In general terms, a program in some programming language manipulates data. During the development of computer science over the past few decades it became clear that an abstract description of these data is desirable, for example to ensure that one's program does not depend on the particular representation of the data on which it operates. Also, such abstractness facilitates correctness proofs. This desire led to the use of algebraic methods in computer science, in a branch called algebraic specification or abstract data type theory. The objects of study are data types in themselves, using notions and techniques which are familiar from algebra.

Publisher: Cambridge University Press
Print publication year: 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)


[Adá03] J., Adámek. On final coalgebras of continuous functors. Theoretical Computer Science, 294:3–29, 2003.Google Scholar
[AM75] M.A., Arbib and E.G., Manes. Arrows, Structures and Functors. The Categorical Imperative. Academic Press, 1975.
[AM82] M.A., Arbib and E.G., Manes. Parametrized data types do not need highly constrained parameters. Information and Control, 52:139–158, 1982.Google Scholar
[AM89] P., Aczel and N., Mendler. A final coalgebra theorem. In D.H., Pitt, A., Poigné, and D.E., Rydeheard, editors, Category Theory and Computer Science, number 389 in Lecture Notes Computer Science, pages 357–365. Springer, 1989.
[Awo06] S., Awodey. Category Theory. Oxford University Press, 2006.
[Bar93] M., Barr. Terminal coalgebras in well-founded set theory. Theoretical Computer Science, 114(2):299–315, 1993. Corrigendum in Theoretical Computer Science124:189–192, 1994.Google Scholar
[Bar03] F., Bartels. Generalised coinduction. Mathematical Structures in Computer Science, 13(2):321–348, 2003.Google Scholar
[BBRS09] F., Bonchi, M.M., Bonsangue, J.J.M.M., Rutten, and A., Silva. Deriving syntax and axioms for quantitative regular behaviours. In International Conference on Concurrency Theory (CONCUR 2009), Lecture Notes Computer Science, Springer, 2009.
[BD94] R., Burstall and R., Diaconescu. Hiding and behaviour: an institutional approach. In A.W., Roscoe, editor, A Classical Mind. Essays in Honour of C.A.R. Hoare, pages 75–92. Prentice Hall, 1994.
[BM96] J., Barwise and L.S., Moss. Vicious Circles: On the Mathematics of Non-wellfounded Phenomena. CSLI Lecture Notes 60, Stanford, 1996.
[Bor94] F., Borceux. Handbook of Categorical Algebra, volume 50, 51 and 52 of Encyclopedia of Mathematics. Cambridge University Press, 1994.
[BRS09] M.M., Bonsangue, J.J.M.M., Rutten, and A., Silva. Algebras for Kripke polynomial coalgebras. In A., Pitts, editor, Logic in Computer Science. IEEE, Computer Science Press, 2009.
[BV96] J.W., Bakker and E., Vink. Control Flow Semantics. MIT Press, 1996.
[BW90] M., Barr and Ch., Wells. Category Theory for Computing Science. Prentice Hall, 1990.
[CHL03] D., Cancila, F., Honsell and M., Lenisa. Generalized coiteration schemata. In H.P., Gumm, editor, Coalgebraic Methods in Computer Science, number 82(1) in Electronic Notes in Theoretical Computer Science, Elsevier, 2003.
[Coh81] P.M., Cohn. Universal Algebra, volume 6 of Mathematics and its Applications. Reidel, 1981.
[CP07] C., Cïrstea and D., Pattinson. Modular proof systems for coalgebraic logics. Theoretical Computer Science, 388:83–108, 2007.Google Scholar
[Cro93] R.L., Crole. Categories for Types. Cambridge Mathematical Textbooks. Cambridge University Press, 1993.
[CS95] J.R.B., Cockett and D., Spencer. Strong categorical datatypes II: A term logic for categorical programming. Theoretical Computer Science, 139:69–113, 1995.Google Scholar
[EM85] H., Ehrig and B., Mahr. Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Number 6 in EATCS Monographs. Springer, 1985.
[Fio96] M.P., Fiore. A coinduction principle for recursive data types based on bisimulation. Information and Computation, 127(2):186–198, 1996.Google Scholar
[GD94] J.A., Goguen and R., Diaconescu. Towards an algebraic semantics for the object paradigm. In H., Ehrig and F., Orejas, editors, Recent Trends in Data Type Specification, number 785 in Lecture Notes in Computer Science, pages 1–29. Springer, 1994.
[GGM76] V., Giarrantana, F., Gimona, and U., Montanari. Observability concepts in abstract data specifications. In A., Mazurkiewicz, editor, Mathematical Foundations of Computer Science, number 45 in Lecture Notes in Computer Science, pages 576–587. Springer, 1976.
[GM82] J.A, Goguen and J., Meseguer. Universal realization, persistent interconnection and implementation of abstract modules. In M., Nielsen and E.M., Schmidt, editors, International Colloquium on Automata, Languages and Programming, number 140 in Lecture Notes in Computer Science, pages 263–281. Springer, 1982.
[GM93] M.J.C., Gordon and T.F., Melham. Introduction to HOL: A Theorem Proing Environment for Higher Order Logic. Cambridge University Press, 1993.
[GM94] J.A., Goguen and G., Malcolm. Proof of correctness of object representations. In A.W., Roscoe, editor, A Classical Mind. Essays in Honour of C.A.R. Hoare, pages 119–142. Prentice Hall, 1994.
[GM96] J.A., Goguen and G., Malcolm. An extended abstract of a hidden agenda. In J., Meystel, A., Meystel, and R., Quintero, editors, Proceedings of the Conference on Intelligent Systems: A Semiotic Perspective, pages 159–167. National Institute of Standards and Technology, 1996.
[GTW78] 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 Methodoloy, pages 80–149. Prentice Hall, 1978.
[Gum99] H.P., Gumm. Elements of the general theory of coalgebras. Notes of lectures given at LUATCS'99: Logic, Universal Algebra, Theoretical Computer Science, Johannesburg. Available as, 1999.
[HJ98] C., Hermida and B., Jacobs. Structural induction and coinduction in a fibrational setting. Information and Computer, 145:107–152, 1998.Google Scholar
[HJ04] J., Hughes and B., Jacobs. Simulations in coalgebra. Theoretical Computer Science, 327(1–2):71–108, 2004.Google Scholar
[HJ05] I., Hasuo and B., Jacobs. Context-free languages via coalgebraic trace semantics. In J.L., Fiadeiro, N., Harman, M., Roggenbach, and J., Rutten, editors, Algebra and Coalgebra in Computer Science (CALCO'05), number 3629 in Lecture Notes in Computer Science, pages 213–231. Springer, 2005.
[HJS07] I., Hasuo, B., Jacobs, and A., Sokolova. Generic trace theory. Logical Methods in Computer Science, 3(4:11), 2007.Google Scholar
[HL95] F., Honsell and M., Lenisa. Final semantics for untyped λ-calculus. In M., Dezani-Ciancaglini and G., Plotkin, editors, Typed Lambda Calculi and Applications, number 902 in Lecture Notes in Computer Science, pages 249–265. Springer, 1995.
[HP95] M., Hofmann and B.C., Pierce. A unifying type-theoretic framework for objects. Journal of Functional Programming, 5(4):593–635, 1995.Google Scholar
[Jac95] B., Jacobs. Parameters and parametrization in specification using distributive categories. Fundamental Informaticae, 24(3):209–250, 1995.Google Scholar
[Jac96a] B., Jacobs. Inheritance and cofree constructions. In P., Cointe, editor, European Conference on Object-Oriented Programming, number 1098 in Lecture Notes in Computer Science, pages 210–231. Springer, 1996.
[Jac96b] B., Jacobs. Objects and classes, co-algebraically. In B., Freitag, C.B., Jones, C., Lengauer, and H.-J., Schek, editors, Object-Orientation with Parallelism and Persistence, pages 83–103. Kluwer, 1996.
[Jac06] B., Jacobs. A bialgebraic review of deterministic automata, regular expressions and languages. In K., Futatsugi, J.-P., Jouannaud, and J., Meseguer, editors, Algebra, Meaning and Computation: Essays Dedicated to Joseph A. Goguen on the Occasion of His 65th Birthday, number 4060 in Lecture Notes in Computer Science, pages 375–404. Springer, 2006.
[Jac08] B., Jacobs. Coalgebraic trace semantics for combined possibilistic and probabilistic systems. In J., Adámek and C., Kupke, editors, Coalgebraic Methods in Computer Science, volume 203(5) of Electronic Notes in Theoretical Computer Science, pages 131–152. Elsevier, 2008.
[JNW96] A., Joyal, M., Nielsen, and G., Winskel. Bisimulation from open maps. Information and Computation, 127(2):164–185, 1996.Google Scholar
[Kam83] S., Kamin. Final data types and their specification. ACM Transactions on Programming Languages and Systems, 5(1):97–123, 1983.Google Scholar
[Kli07] B., Klin. Coalgebraic modal logic beyond sets. In M., Fiore, editor, Mathematical Foundations of Programming Semantics, number 173 in Electronic Notes in Theoretical Computer Science, Elsevier, Amsterdam, 2007.
[Kur01] A., Kurz. Specifying coalgebras with modal logic. Theoretical Computer Science, 260(1–2):119–138, 2001.Google Scholar
[Kur06] A., Kurz. Coalgebras and their logics. SIGACT News Logic Column, 37(2):57–77, 2006.Google Scholar
[Lan71] S., Mac Lane. Categories for the Working Mathematician. Springer, 1971.
[LS81] D.J., Lehmann and M.B., Smyth. Algebraic specification of data types: A synthetic approach. Mathematical Systems Theory, 14:97–139, 1981.Google Scholar
[LS86] J., Lambek and P.J., Scott. Introduction to Higher Order Categorical Logic. Number 7 in Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1986.
[MA86] E.G., Manes and M.A., Arbib. Algebraic Appoaches to Program Semantics. Texts and Monographs in Computer Science. Springer, 1986.
[Mal96] G., Malcolm. Behavioural equivalence, bisimulation and minimal realisation. In M., Haveraaen, O., Owe, and O.J., Dahl, editors, Recent Trends in Data Type Specification, number 1130 in Lecture Notes in Computer Science, pages 359–378. Springer, 1996.
[Man74] E.G., Manes. Algebraic Theories. Springer, 1974.
[Mel89] T.F., Melham. Automating recursive type definitions in higher order logic. In G., Birtwistle and P.A., Subrahmanyam, editors, Current Trends in Hardware Verification and Automated Theorem Proving, Lecture Notes in Computer Science, pages 341–386. Springer, 1989.
[Mil89] R., Milner. A Calculus of Communicating Systems. Lecture Notes in Computer Science, Springer, 1989.
[MT92] K., Meinke and J.V., Tucker. Universal algebra. In S., Abramsky, Dov M., Gabbai, and T.S.E., Maibaum, editors, Handbook of Logic in Computer Science, volume 1, pages 189–411. Oxford University Press, 1992.
[ORR+96] 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 Lecture Notes in Computer Science, pages 411–414. Springer, 1996.
[Par81] D.M.R., Park. Concurrency and automata on infinite sequences. In P., Deussen, editor, Proceedings 5th GI Conference on Theoretical Computer Science, number 104 in Lecture Notes in Computer Science, pages 15–32. Springer, 1981.
[Pau90] L.C., Paulson. Isabelle: The next 700 theorem provers. In P., Odifreddi, editor, Logic and Computer Science, pages 361–386. Academic Press, 1990. The APIC series, vol. 31.
[Pau97] L.C., Paulson. Mechanizing coinduction and corecursion in higher-order logic. Journal of Logic and Computation, 7:175–204, 1997.Google Scholar
[Pie91] B.C., Pierce. Basic Category Theory for Computer Scientists. MIT Press, 1991.
[Pit94] A.M., Pitts. A co-induction principle for recursively defined domains. Theoretical Computer Science, 124(2):195–219, 1994.Google Scholar
[Pit96] A.M., Pitts. Relational properties of domains. Information and Computing, 127(2):66–90, 1996.Google Scholar
[Plo81] G.D., Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, 1981.
[PM93] 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 Lecture Notes in Computer Science, pages 328–345. Springer, 1993.
[PP02] D., Pavlović and V., Pratt. The continuum as a final coalgebra. Theoretical Computer Science, 280(1–2):105–122, 2002.Google Scholar
[Rei95] H., Reichel. An approach to object semantics based on terminal co-algebras. Mathematical Structures in Computer Science, 5:129–152, 1995.Google Scholar
[Rou96] W.C., Rounds. Feature logics. In J., Benthem and A., terMeulen, editors, Handbook of Logic and Language. Elsevier, 1996.
[RT94] J., Rutten and D., Turi. Initial algebra and final coalgebra semantics for concurrency. In J.W., Bakker, W.P., Roever, and G., Rozenberg, editors, A Decade of Concurrency, number 803 in Lecture Notes in Computer Science, pages 530–582. Springer, 1994.
[Rut00] J., Rutten. Universal coalgebra: a theory of systems. Theoretical Computer Science, 249:3–80, 2000.Google Scholar
[Rut03] J., Rutten. Behavioural differential equations: a coinductive calculus of streams, automata, and power series. Theoretical Computer Science, 308:1–53, 2003.Google Scholar
[SP82] M.B., Smyth and G.D., Plotkin. The category theoretic solution of recursive domain equations. SIAM Journal of Computing, 11:761–783, 1982.Google Scholar
[SR07] A., Silva and J., Rutten. Behavioural differential equations and coinduction for binary trees. In D., Leivant and R., Queiroz, editors, Logic, Language, Information and Computation, 14th International Workshop, WoLLIC 2007, number 4576 in Lecture Notes in Computer Science, pages 322–336. Springer, 2007.
[TP97] D., Turi and G., Plotkin. Towards a mathematical operational semantics. In G., Winskel, editor, Logic in Computer Science, pages 280–291. IEEE, Computer Science Press, 1997.
[Tur96] D., Turi. Functorial operational semantics and its denotational dual. PhD thesis, Free University Amsterdam, 1996.
[Wal91] R.F.C., Walters. Categories and Computer Science. Carslaw Publications, Sydney, 1991. Also available as: Cambridge Computer Science Text 28, 1992.
[Wec92] W., Wechler. Universal Algebra for Computer Scientists. Number 25 in EATCS Monographs. Springer, Berlin, 1992.
[Wir90] M., Wirsing. Algebraic specification. In J., Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 673–788. Elsevier/MIT Press, 1990.

Save book to Kindle

To save this book to your Kindle, first ensure is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the or variations. ‘’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats