Proving the correctness of algebraic implementations by the ISAR system

  • Bernhard Bauer
  • Rolf Hennicker
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 722)


We present an interactive system, called ISAR, which provides an environment for correctness proofs of algebraic implementation steps. The correctness notion of implementation is based on behavioural semantics and the underlying proof procedure of the system is based on the principle of context induction (which is a particular instance of structural induction). The input of the ISAR system is an implementation step consisting of an abstract specification to be implemented, a concrete specification used as a basis for the implementation and an implementation construction. If all steps of the (interactive) proof procedure are performed the system has proved the correctness of the implementation step.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bauer 93]
    An interactive system for algebraic implementation proofs: The ISAR system from the user's point of view. Universität München, Technical Report (to appear), 1993.Google Scholar
  2. [Beierle, Vo\ 85]
    C. Beierle, A. Vo\: Algebraic specification and implementation in an integrated software development and verification system. MEMO SEKI-12, FB Informatik, Universität Kaiserslautern, 1985.Google Scholar
  3. [Bidoit, Hennicker 92]
    How to prove observational theorems with LP. Proc. of the First International Workshop on Larch, July 1992, Boston, USA, Springer Verlag Workshop in Computing Series, 1993. Also in: Laboratoire d'Informatique de l' Ecole Normale Supérieure, Paris, LIENS-92-23, 1992.Google Scholar
  4. [Boyer, Moore 88]
    R. S. Boyer, J. S. Moore: A computational logic handbook. Academic Press, New York, 1988.Google Scholar
  5. [Burstall 69]
    R. M. Burstall: Proving properties of programs by structural induction. Comp. Journal 12, 41–48, 1969.Google Scholar
  6. [Chen et al. 93]
    P. S. Chen, R. Hennicker, M. Jarke: On the retrieval of reusable software components. In: R. Prieto-Diaz, W. B. Frakes (eds.): Advances in Software Reuse. Selected Papers from the Second International Workshop on Software Reusability. Lucca, Italy, 1993. IEEE Computer Society Press, Los Alamitos, California, Order Number 3130, 99–108, 1993.Google Scholar
  7. [Ehrig et al. 82]
    H. Ehrig, H.-J. Kreowski, B. Mahr, P. Padawitz: Algebraic Imple-mentation of Abstract Data Types. Theoretical Computer Science 20, 209–263, 1982.Google Scholar
  8. [Ehrig, Mahr 85]
    H. Ehrig, B. Mahr: Fundamentals of algebraic specification 1, EATCS Monographs on Theoretical Computer Science 6, Springer, Berlin, 1985.Google Scholar
  9. [Fraus, Hu\mann 91]
    U. Fraus, H. Hu\mann: A narrowing-based theorem prover. Extended Abstract. In: Proc. RTA '91, Rewriting Techniques and its Applications, Lecture Notes in Computer Science 488, 435–436, 1991.Google Scholar
  10. [Garland, Guttag 88]
    S. J. Garland, J. V. Guttag: An overview of LP, the Larch Prover. In: Proc. RTA '89, Rewriting Techniques and its Applications, Lecture Notes in Computer Science 355, 137–151, 1989.Google Scholar
  11. [Hennicker 90]
    R. Hennicker: Context Induction: a proof principle for behavioural abstractions. In: A. Miola (ed.): Proc. DISCO '90, International Symposium on Design and Implementation of Symbolic Computation Systems, Capri, April 1990. Lecture Notes in Computer Science 429, 101–110, 1990.Google Scholar
  12. [Hennicker 92]
    A semi-algorithm for algebraic implementation proofs. Theoretical Computer Science 104, Special Issue, 53–87, 1992.Google Scholar
  13. [Nivela, Orejas 88]
    M\(M^{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{a} }\)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, Lecture Notes in Computer Science 332, 184–207, 1988.Google Scholar
  14. [Padawitz 88]
    P. Padawitz: Computing in Horn clause theories. EATCS Monographs on Theoretical Computer Science 16, Springer, Berlin, 1988.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, Tarlecki 88]
    D. T. Sannella, A. Tarlecki: Toward formal development of programs from algebraic specifications: implementation revisited. Acta Informatica 25, 233–281, 1988.CrossRefGoogle Scholar
  17. [Wirsing 86]
    M. Wirsing: Structured algebraic specifications: a kernel language. Theoretical Computer Science 42, 123–249, 1986.CrossRefGoogle Scholar
  18. [Wirsing 88]
    Algebraic description of reusable software components. In: Proc. COMPEURO '88, Comp. Society Order Number 834, 300–312, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Bernhard Bauer
    • 1
  • Rolf Hennicker
    • 2
  1. 1.Institut für InformatikTechnische Universität MünchenMünchen 2
  2. 2.Institut für InformatikLudwig-Maximilians-Universität MünchenMünchen 40

Personalised recommendations