Skip to main content

Coalgebraic description of generalised binary methods


We extend the coalgebraic account of specification and refinement of objects and classes in object-oriented programming given by Reichel and Jacobs to (generalised) binary methods. These are methods that take more than one parameter of a class type. Class types include products, sums and powerset type constructors. To allow for class constructors, we model classes as bialgebras. We study and compare two solutions for modelling generalised binary methods, which use purely covariant functors.

In the first solution, which applies when we already have a class implementation, we reduce the behaviour of a generalised binary method to that of a bunch of unary methods. These are obtained by freezing the types of the extra class parameters to constant types. If all parameter types are finitary, the bisimilarity equivalence induced on objects by this model yields the greatest congruence with respect to method application.

In the second solution, we treat binary methods as graphs instead of functions, thus turning contravariant occurrences in the functor into covariant ones.

We show the existence of final coalgebras in both cases.

Hide All
Abramsky, S. and Ong, L. (1993) Full Abstraction in the Lazy Lambda Calculus. Information and Computation 105 (2)159267.
Aczel, P. (1988) Non-wellfounded sets, CSLI Lecture Notes 14
Aczel, P. and Mendler, N. (1989) A Final Coalgebra Theorem. In: Pitt, D. H. et al. . (eds.) Proc. category theory and computer science. Springer-Verlag Lecture Notes in Computer Science 389 357–365.
van den Berg, J., Huisman, M., Jacobs, B. and Poll, E. (1999) A type-theoretic memory model for verification of sequential Java programs. In: Bert et al. . (eds.) WADT'99. Springer-Verlag Lecture Notes in Computer Science 1827 1–21.
Bruce, K. B., Cardelli, L., Castagna, G., Eifrig, J., Smith, S. F., Trifonov, V., Leavens, G. T. and Pierce, B. C. (1995) On Binary Methods. TAPOS 1 (3)221242.
Cancila, D., Honsell, F. and Lenisa, M. (2006) Some Properties and Some Problems on Set Functors. CMCS'06. Electronic Notes in Theoretical Computer Science (to appear).
Corradini, A., Heckel, R. and Montanari, U. (2002) Compositional SOS and beyond: A coalgebraic view of open systems. Theoretical Computer Science 280 163192.
Cirstea, C. (2000) Integrating observations and computations in the specification of state-based, dynamical systems, Ph.D. thesis, University of Oxford.
Forti, M. and Honsell, F. (1983) Set-theory with free construction principles. Ann. Scuola Norm. Sup. Pisa, Cl. Sci. (4) 10 493522.
Goguen, J. and Malcolm, G. (2000) A Hidden Agenda. Theoretical Computer Science 245 55101.
Hennicker, R. and Kurz, A. (1999) (Ω, Ξ)-Logic: On the algebraic extension of coalgebraic specifications. CMCS'1999. Electronic Notes in Theoretical Computer Science 19
Hermida, C. and Jacobs, B. (1998) Structural induction and coinduction in a fibrational setting. Information and Computation 145 (2)107152.
Honsell, F. and Lenisa, M. (1995) Final Semantics for Untyped Lambda Calculus. In: Dezani, M. et al. . (eds.) TLCA'95. Springer-Verlag Lecture Notes in Computer Science 902 249–265.
Honsell, F. and Lenisa, M. (1999) Coinductive Characterizations of Applicative Structures. Mathematical Structures in Computer Science 9 403435.
Honsell, F., Lenisa, M. and Redamalla, R. (2004) Coalgebraic Semantics and Observational Equivalences of an Imperative Class-based OO-Language. In: Honsell, F. et al. . (eds.) COMETA'03. Electronic Notes in Theoretical Computer Science 104 163–180.
Huisman, M. (2001) Reasoning about Java programs in Higher-order logic using PVS and Isabelle, Ph.D. thesis, University of Nijmegen, The Netherlands.
Jacobs, B. (1996) Objects and Classes, co-algebraically. In: Freitag, B. et al. . (eds.) Object-Orientation with Parallelism and Book Persistence, Kluwer Academic Publishers 83103.
Jacobs, B. (1996a) Inheritance and cofree constructions. In: Cointe, P. (ed.) ECOOP'96. Springer-Verlag Lecture Notes in Computer Science 1098 210–231.
Jacobs, B. (1997) Behaviour-refinement of object-oriented specifications with coinductive correctness proofs. In: Bidoit, M. et al. . (eds.) TAPSOFT'97. Springer-Verlag Lecture Notes in Computer Science 1214 787–802.
Jacobs, B. and Rutten, J. (1996) A tutorial on (co)algebras and (co)induction. Bulletin of the EATCS 62 222259.
Lenisa, M. (1996) Final Semantics for a Higher Order Concurrent Language. In: Kirchner, H. et al. . (eds.) CAAP'96. Springer-Verlag Lecture Notes in Computer Science 1059 102–118.
Poll, E. and Zwanenburg, J. (2001) From algebras and coalgebras to dialgebras. In: Corradini, A., Lenisa, M. and Montanari, U. (eds.) CMCS'01. Electronic Notes in Theoretical Computer Science 44
Reichel, H. (1995) An approach to object semantics based on terminal co-algebras. Mathematical Structures in Computer Science 5 129152.
Rosu, G. and Goguen, J. (2000) Hidden Congruent Deduction. FTP'98. Springer-Verlag Lecture Notes in Artificial Intelligence 1761 252267.
Rothe, J., Tews, H. and Jacobs, B. (2001) The Coalgebraic Class Specification Language CCSL. Journal of Universal Computer Science 7 175193.
Tews, H. (2002) Coalgebraic Methods for Object-Oriented Specifications, Ph.D. thesis, Dresden University of technology, 2002.
Turi, D. and Plotkin, G. (1997) Towards a mathematical operational semantics. 12th LICS, IEEE, Computer Science Press 280291.
Recommend this journal

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

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 5 *
Loading metrics...

Abstract views

Total abstract views: 53 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 20th March 2018. This data will be updated every 24 hours.