Context induction: A proof principle for behavioural abstractions

  • Rolf Hennicker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 429)


An induction principle, called context induction, is presented which is appropriate for the verification of behavioural properties of abstract data types. The usefulness of the proof principle is documented by several applications: the verification of behavioural theorems over a behavioural specification, the verification of behavioural implementations and the verification of "forget-restrict-identify" implementations.

In particular it is shown that behavioural implementations and "forget-restrict-identify" implementations (under certain assumptions) can be characterized by the same context condition, i.e. (under the given assumptions) both concepts are equivalent. This leads to the suggestion to use context induction as a uniform proof method for correctness proofs of formal implementations.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Boyer, Moore 88]
    R. S. Boyer, J. S. Moore: A computational logic handbook. Academic Press (1988).Google Scholar
  2. [Broy et al. 84]
    M. Broy, C. Pair und M. Wirsing: A systematic study of models of abstract data types. Theoretical Computer Science 33, 139–174, 1984.Google Scholar
  3. [Broy et al. 86]
    M. Broy, B. Möller, P. Pepper und M. Wirsing: Algebraic implementations preserve program correctness. Science of Computer Programming 7, 1, 35–54, 1986.Google Scholar
  4. [Burstall 69]
    R. M. Burstall: Proving properties of programs by structural induction. Comp. Journal 12, 41–48, 1969.Google Scholar
  5. [Ehrig, Mahr 85]
    H. Ehrig, B. Mahr: Fundamentals of algebraic specification 1. EATCS Monographs on Theor. Comp. Science, Vol. 6, Springer Verlag, 1985.Google Scholar
  6. [Ehrig et al. 82]
    H. Ehrig, H.J. Kreowski, B. Mahr und P. Padawitz: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263, 1982.Google Scholar
  7. [Garland, Guttag 88]
    S. J. Garland, J. V. Guttag: Inductive methods for reasoning about abstract data types. Proc. POPL'88, 219–228, 1988.Google Scholar
  8. [Giarratana et al. 76]
    V. Giarratana, F. Gimona und U. Montanari: Observability concepts in abstract data type specification. In: A. Mazurkiewicz (ed.): Proc. MFCS'76, 5th Internat. Symp. on Mathematical Foundations of Comp. Science. Springer Lecture Notes in Computer Science 45, 576–587, 1976.Google Scholar
  9. [Hennicker 88]
    R. Hennicker: Beobachtungsorientierte Spezifikationen. Dissertation, Fakultät für Mathematik und Informatik, Universität Passau, 1988.Google Scholar
  10. [Hennicker 89]
    R. Hennicker: Observational implementations. In: B. Monien, R. Cori (eds.): Proc. STACS'89, 6th Annual Symposium on Theoretical Aspects of Computer Science. Springer Lecture Notes in Computer Science 349, 59–71, 1989.Google Scholar
  11. [Hennicker 90]
    R. Hennicker: Context induction: a proof principle for behavioural abstractions (long version). Techn. Berichte, Fakultät für Math. und Informatik, Universität Passau, MIP-9001, 1990.Google Scholar
  12. [Kamin 83]
    S. Kamin: Final data types and their specification. ACM TOPLASS 5, 1, 97–121, 1983.Google Scholar
  13. [Nivela, Orejas 87]
    Ma P. Nivela, F. Orejas: Initial behaviour semantics for algebraic specifications. In: D.T. Sannella, A. Tarlecki (eds.): Proc. 5th Workshop on Algebraic Specifications of Abstract Data Types. Springer Lecture Notes in Computer Science 332, 184–207, 1987.Google Scholar
  14. [Pepper et al. 82]
    P. Pepper, M. Broy, F. L. Bauer, H. Partsch, W. Dosch, M. Wirsing: Abstrakte Daten typen: Die algebraische Spezifikation von Rechenstrukturen. Informatik-Spektrum 5, 107–119, 1982.Google Scholar
  15. [Reichel 85]
    H. Reichel: Initial restrictions of behaviour. IFIP Working Conference, The Role of Abstract Models in Information Processing, 1985.Google Scholar
  16. [Sannella, Wirsing 82]
    D.T. Sannella, M. Wirsing: Implementation of parameterized specifications. In: M.Nielsen, E.M. Schmidt (eds.): Proc. ICALP'82, 9th Coll. on Automata, Languages and Programming. Springer Lecture Notes in Computer Science 140, 473–488, 1982.Google Scholar
  17. [Wand 79]
    M. Wand: Final algebra semantics and data type extensions. Journal of Computer and System Sciences 19, 27–44, 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Rolf Hennicker
    • 1
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassau

Personalised recommendations