Skip to main content Accessibility help
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 4
  • Cited by
    This chapter has been cited by the following publications. This list is generated based on data provided by CrossRef.

    ATKEY, ROBERT and JOHANN, PATRICIA 2015. Interleaving data and effects. Journal of Functional Programming, Vol. 25, Issue. ,

    Honsell, Furio Lenisa, Marina Liquori, Luigi and Scagnetto, Ivan 2016. Programming Languages and Systems. Vol. 10017, Issue. , p. 229.

    Rot, Jurriaan 2017. Distributive Laws for Monotone Specifications. Electronic Proceedings in Theoretical Computer Science, Vol. 255, Issue. , p. 83.

    Hasuo, Ichiro 2017. Metamathematics for Systems Design. New Generation Computing, Vol. 35, Issue. 3, p. 271.

  • Print publication year: 2011
  • Online publication date: November 2011

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



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.

Recommend this book

Email your librarian or administrator to recommend adding this book to your organisation's collection.

Advanced Topics in Bisimulation and Coinduction
  • Online ISBN: 9780511792588
  • Book DOI:
Please enter your name
Please enter a valid email address
Who would you like to send this to *
[Adá03] J., Adámek. On final coalgebras of continuous functors. Theoretical Computer Science, 294:3–29, 2003.
[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.
[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.
[Bar03] F., Bartels. Generalised coinduction. Mathematical Structures in Computer Science, 13(2):321–348, 2003.
[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.
[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.
[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.
[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.
[HJ04] J., Hughes and B., Jacobs. Simulations in coalgebra. Theoretical Computer Science, 327(1–2):71–108, 2004.
[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.
[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.
[Jac95] B., Jacobs. Parameters and parametrization in specification using distributive categories. Fundamental Informaticae, 24(3):209–250, 1995.
[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.
[Kam83] S., Kamin. Final data types and their specification. ACM Transactions on Programming Languages and Systems, 5(1):97–123, 1983.
[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.
[Kur06] A., Kurz. Coalgebras and their logics. SIGACT News Logic Column, 37(2):57–77, 2006.
[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.
[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.
[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.
[Pit96] A.M., Pitts. Relational properties of domains. Information and Computing, 127(2):66–90, 1996.
[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.
[Rei95] H., Reichel. An approach to object semantics based on terminal co-algebras. Mathematical Structures in Computer Science, 5:129–152, 1995.
[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.
[Rut03] J., Rutten. Behavioural differential equations: a coinductive calculus of streams, automata, and power series. Theoretical Computer Science, 308:1–53, 2003.
[SP82] M.B., Smyth and G.D., Plotkin. The category theoretic solution of recursive domain equations. SIAM Journal of Computing, 11:761–783, 1982.
[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.