How to prove algebraic inductive hypotheses without induction

With applications to the correctness of data type implementation
  • J. A. Goguen
Friday Afternoon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 87)


This paper proves the correctness of algebraic methods for deciding the equivalence of expressions by applying rewrite rules, and for proving inductive equational hypotheses without using induction; it also shows that the equations true in the initial algebra are just those provable by structural induction. The major results generalize, simplify and rigorize Musser's method for proving inductive hypotheses with the Knuth-Bendix algorithm; our approach uses a very general result, that (under certain conditions) an equation is true iff it is consistent. Finally, we show how these results can be extended to proving the correctness of an implementation of one data abstraction by another.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Aubin 76]
    Aubin, R. Mechanizing Structural Induction. PhD thesis, University of Edinburgh, 1976.Google Scholar
  2. [Burstall & Goguen 77]
    Burstall, R. M. and Goguen, J. A. Putting Theories together to Make Specifications. Proc. 5th Int. Joint Confr. on Artificial Intelligence, 1977.Google Scholar
  3. [Burstall 69]
    Burstall, R. M. Proving Properties of Programs by Structural Induction. Computer Journal, 1969.Google Scholar
  4. [Ehrich 78]
    Ehrich, H.-D. On the Theory of Specification, Implementation and Parameterization of Abstract Data Types. Technical Report, Forschungsbericht, Dortmund, 1978.Google Scholar
  5. [Ehrig 79]
    Ehrig, H., Kreowski, H.-J. and Padawitz, P. Algebraic Implementation of Abstract Data Types. Technical Report, Technical University of Berlin, 1979.Google Scholar
  6. [Goguen & Tardo 79]
    Goguen, J. A. and Tardo, J. An Introduction to OBJ-T. In Specification of Reliable Software. IEEE, 1979.Google Scholar
  7. [Goguen, Thatcher & Wagner 78]
    Goguen, J. A., Thatcher, J. W. and Wagner, E. An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. In R. Yeh, editor, Current Trends in Programming Methodology, Prentice-Hall, 1978. also published as IBM T.J.Watson Research Center Report, 1876.Google Scholar
  8. [Goguen, Thatcher, Wagner & Wright 75]
    [Goguen, Thatcher, Wagner & Wright 75] Goguen, J. A., Thatcher, J. W., Wagner, E. and Wright, J. B. Abstract Data Types as Initial Algebras and the Correctness of Data Representations. In Computer Graphics, Pattern Recognition and Data Structure. IEEE, Beverley Hills, CA, 1975.Google Scholar
  9. [Goguen 77]
    Goguen, J. A. Abstract Errors for Abstract Data Types. In Working Confr. on Formal Description of Programming Concepts. IFIP, 1977. also published by North-Holland, 1979, editor P. Neuhold.Google Scholar
  10. [Goguen 79]
    Goguen, J. A. Proving Inductive Hypotheses without Induction and Evaluating Expressions with Non-terminating Rewrite Rules. 1979. class notes at UCLA, and draft paper at SRI, 1980.Google Scholar
  11. [Goguen 80]
    Goguen, J. A. How to Prove Inductive Hypotheses without Induction. Technical Report, SRI International, 1980.Google Scholar
  12. [Guttag, Horowitz & Musser 78]
    Guttag, J. V., Horowitz, E. and Musser, D. R. Abstract Data Types and Software Validation. Communications of the ACM, 1978.Google Scholar
  13. [Guttag 75]
    Guttag, J.V. The Specification and Application to Programming of Abstract Data Types. PhD thesis, Univ. of Toronto, 1975.Google Scholar
  14. [Huet & Oppen 80]
    Huet, G. and Oppen, D. Equations and Rewrite Rules: A Survey. 1980.Google Scholar
  15. [Knuth & Bendix 70]
    Knuth, D. and Bendix, P. Simple Word Problems in Universal Algebra. In J. Leech, editor, Computational Problems in Abstract Algebra, Pergamon Press, 1970.Google Scholar
  16. [Lawvere 63]
    Lawvere, F. W. Functorial Semantics of Algebraic Theories. (Proc. Nat. Acad. Sciences), 1963.Google Scholar
  17. [Musser 80a]
    Musser, D. On Proving Inductive Properties of Abstract Data Types. 1980. to appear in 7th ACM Symp. on Principles of Programming Languages.Google Scholar
  18. [Musser 80b]
    Musser, D. Abstract Data Type Specification in the AFFIRM System. IEEE Trans. Software Eng., 1980. to appear.Google Scholar
  19. [Nourani 79a]
    Nourani, F. Constructive Extension and Implementation of Abstract Data Types and Algorithms. PhD thesis, UCLA, Dept. of Computer Science, 1979.Google Scholar
  20. [Nourani 79b]
    Nourani, N. Inductive Extensions of Equational Theories of Data Types (Working Outline). Technical Report, University of Michigan, Dept. of Elec. Eng. and Computer Science, 1979. unpublished memorandum, November 1979.Google Scholar
  21. [Wand 77]
    Wand, M. Algebraic Theories and Tree Rewriting Systems. Technical Report 66, Computer Science Dept., Indiana Univ., 1977.Google Scholar
  22. [Zilles 74]
    Zilles, S. Abstract Specification of Data Types. Technical Report 119, Computation Structures Group, MIT, 1974.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • J. A. Goguen
    • 1
    • 2
  1. 1.SRI InternationalMenlo Park
  2. 2.Computer Science Dept.UCLALos Angeles

Personalised recommendations