Behavioural equivalence, bisimulation, and minimal realisation

  • Grant Malcolm
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1130)


This paper examines three important topics in computer science: behavioural equivalence, bisimulation, and minimal realisation of automata, and discusses the relationships that hold between them. Central to all three topics is a notion of equivalence of behaviour, and by taking a coalgebraic approach to algebraic specifications we show that bisimulation is ‘the same as’ behavioural equivalence. Moreover, we show that a particular construction for minimal realisation of behaviour corresponds to a proof technique for proving behavioural equivalence. We also argue that it is useful to consider algebraic specifications of objects as having both algebraic and coalgebraic aspects.


Proof Technique Constant Symbol Abstract Data Type State Transition Function Algebraic Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Samson Abramsky. A domain equation for bisimulation. Information and Computation, 92(2): 161–218, 1991.Google Scholar
  2. 2.
    Peter Aczel and Nax Mendler. A final coalgebra theorem. In D.H. Pitt et al., editor, Category Theory and Computer Science. Springer-Verlag Lecture Notes in Computer Science 389, 1989.Google Scholar
  3. 3.
    Jiri Adámek. Observability and Nerode equivalence in concrete categories. In Ferenc Gécseg, editor, Fundamentals of Computation Theory. Springer-Verlag Lecture Notes in Computer Science 117, 1981.Google Scholar
  4. 4.
    Michael Arbib and Ernest Manes. Machines in a category: an expository introduction. SIAM Review, 16:163–192, 1974.Google Scholar
  5. 5.
    Michael Barr. Terminal coalgebras in well-founded set theory. Theoretical Computer Science, 114:299–315, 1993.Google Scholar
  6. 6.
    Michael Barr and Charles Wells. Category Theory for Computing Science. Prentice Hall, 1990.Google Scholar
  7. 7.
    Johan van Benthem, Jan van Eijck, and Vera Stebletsova. Modal logic, transition systems and processes. Journal of Logic and Computation, 4:811–855, 1994.Google Scholar
  8. 8.
    Michel Bidoit, Rolf Hennicker, and Martin Wirsing. Behavioural and abstractor specifications. Science of Computer Programming, to appear, 1996.Google Scholar
  9. 9.
    U. Bosse. An Ehrenfeucht-Fraisse game for fixpoint logic and stratified fixpoint logic. In Proc. 6th Workshop on Computer Science Logic, pages 410–424. Springer-Verlag Lecture notes in Computer Science 702, 1993.Google Scholar
  10. 10.
    Hartmut Ehrig, Hans-Jörg Kreowski, Bernd Mahr, and Peter Padawitz. Algebraic implementation of abstract data types. Theoretical Computer Science, 20:209–263, 1983.Google Scholar
  11. 11.
    Hartmut Ehrig and Bernd Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. Springer, 1985.Google Scholar
  12. 12.
    Hartmut Ehrig, Fernando Orejas, Felix Cornelius, and Michael Baldamus. Abstract and behaviour module specifications. Technical Report 93-25, Technische Universität Berlin, 1993.Google Scholar
  13. 13.
    Joseph Goguen. Minimal realization of machines in closed categories. Bulletin of the American Mathematical Society, 78(5):777–783, 1972.Google Scholar
  14. 14.
    Joseph Goguen. Systems and minimal realization. In Proceedings, 1971 IEEE Conf. on Decision and Control, pages 42–46, 1972.Google Scholar
  15. 15.
    Joseph Goguen. An algebraic approach to refinement. In Dines Bjorner, C.A.R. Hoare, and Hans Langmaack, editors, Proceedings, VDM'90: VDM and Z — Formal Methods in Software Development, pages 12–28. Springer, 1990. Lecture Notes in Computer Science, Volume 428.Google Scholar
  16. 16.
    Joseph Goguen. Types as theories. In George Michael Reed, Andrew William Roscoe, and Ralph F. Wachter, editors, Topology and Category Theory in Computer Science, pages 357–390. Oxford, 1991. Proceedings of a Conference held at Oxford, June 1989.Google Scholar
  17. 17.
    Joseph Goguen and Grant Malcolm. Proof of correctness of object representations. In A. W. Roscoe, editor, A Classical Mind: essays dedicated to C.A.R. Hoare, chapter 8, pages 119–142. Prentice-Hall International, 1994.Google Scholar
  18. 18.
    Joseph Goguen, Grant Malcolm, and Tom Kemp. A hidden Herbrand theorem, to appear.Google Scholar
  19. 19.
    Joseph Goguen and José Meseguer. Universal realization, persistent interconnection and implementation of abstract modules. In M. Nielsen and E.M. Schmidt, editors, Proceedings, 9th International Conference on Automata, Languages and Programming, pages 265–281. Springer, 1982. Lecture Notes in Computer Science, Volume 140.Google Scholar
  20. 20.
    Joseph Goguen, James Thatcher, and Eric Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. Technical Report RC 6487, IBM T.J. Watson Research Center, October 1976. In Current Trends in Programming Methodology, IV, Raymond Yeh, editor, Prentice-Hall, 1978, pages 80–149.Google Scholar
  21. 21.
    Joseph Goguen, Timothy Winkler, José Meseguer, Kokichi Futatsugi, and Jean-Pierre Jouannaud. Introducing OBJ. In Joseph Goguen and Grant Malcolm, editors, Software Engineering with OBJ: Algebraic Specification in Practice. Cambridge, to appear. Also Technical Report, SRI International.Google Scholar
  22. 22.
    Joseph A. Goguen and Răzvan Diaconescu. Towards an algebraic semantics for the object paradigm. In Hartmut Ehrig and Fernando Orejas, editors, Recent Trends in Data Type Specification. Springer-Verlag Lecture Notes in Computer Science 785, 1994.Google Scholar
  23. 23.
    Andrew D. Gordon. Bisimilarity as a theory of functional programming. Electronic Notes in Theoretical Computer Science, 1, 1995.Google Scholar
  24. 24.
    Bart P.F. Jacobs. Mongruences and cofree coalgebras. In M. Nivat, editor, Algebraic Methodology and Software Technology (AMAST95), pages 245–260. Springer-Verlag Lecture Notes in Computer Science 936, 1995.Google Scholar
  25. 25.
    Bart P.F. Jacobs. Objects and classes, coalgebraically. Technical Report CS-R9536, CWI, 1995.Google Scholar
  26. 26.
    Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2–3), October 1990.Google Scholar
  27. 27.
    Grant Malcolm and Joseph Goguen. Proving correctness of refinement and implementation. Technical Monograph PRG-114, Programming Research Group, Oxford University, 1994.Google Scholar
  28. 28.
    Grant Malcolm and Joseph Goguen. A hidden agenda. In preparation, Oxford University Computing Laboratory, 1996.Google Scholar
  29. 29.
    José Meseguer and Joseph Goguen. Initiality, induction and computability. In Maurice Nivat and John Reynolds, editors, Algebraic Methods in Semantics, pages 459–541. Cambridge, 1985.Google Scholar
  30. 30.
    Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, Parts I and II. Technical Report ECS-LFCS-89-85 and-86, Department of Computer Science, Edinburgh University, 1989.Google Scholar
  31. 31.
    Fernando Orejas, Marisa Navarro, and Ana Sánchez. Implementation and behavioural equivalence: a survey. In M. Bidoit and C. Choppy, editors, Recent Trends in Data Type Specification. Springer-Verlag Lecture Notes in Computer Science 655, 1993.Google Scholar
  32. 32.
    Horst Reichel. Behavioural equivalence — a unifying concept for initial and final specifications. In Proceedings, Third Hungarian Computer Science Conference. Akademiai Kiado, 1981. Budapest.Google Scholar
  33. 33.
    Horst Reichel. Behavioural validity of conditional equations in abstract data types. In Contributions to General Algebra 3. Teubner, 1985. Proceedings of the Vienna Conference, June 21–24, 1984.Google Scholar
  34. 34.
    Horst Reichel. An approach to object semantics based on terminal coalgebras. Mathematical Structures in Computer Science, 5, 1995.Google Scholar
  35. 35.
    Horst Reichel. Observational equivalences viewed as bisimulations. To appear 1996. The paper was presented at WADT95.Google Scholar
  36. 36.
    Jan J.M.J. Rutten. A calculus of transition systems (towards universal coalgebra). Technical Report CS-R9503, CWI, 1995.Google Scholar
  37. 37.
    Jan J.M.J. Rutten and Daniele Turi. Initial algebra and final coalgebra semantics for concurrency. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Proc REX Symposium ‘A decade of Concurrency', pages 530–582. Springer-Verlag Lecture notes in Computer Science 803, 1994.Google Scholar
  38. 38.
    Donald Sannella and Andrzej Tarlecki. Toward formal development of programs from algebraic specifications. Acta Informatica, 25:233–281, 1988.Google Scholar
  39. 39.
    Michael Smyth and Gordon Plotkin. The category-theoretic solution of recursive domain equations. SIAM Journal of Computation, 11:761–783, 1982. Also Report D.A.I. 60, University of Edinburgh, Department of Artificial Intelligence, December 1978.Google Scholar
  40. 40.
    Wolfgang Thomas. On the Ehrenfeucht-Fraisse game in theoretical computer science. In TAPSOFT: 4th International Joint Conference on Theory and Practice of Software Development, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Grant Malcolm
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations