skip to main content
10.1145/567446.567461acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

On proving inductive properties of abstract data types

Published: 28 January 1980 Publication History

Abstract

The equational axioms of an algebraic specification of a data type (such as finite sequences) often can be formed into a convergent set of rewrite rules; i.e. such that all sequences of rewrites are finite and uniquely terminating. If one adds a rewrite rule corresponding to a data type property whose proof requires induction (such as associativity of sequence concatenation), convergence may be destroyed, but often can be restored by using the Knuth-Bendix algorithm to generate additional rules. A convergent set of rules thus obtained can be used as a decision procedure for the equational theory for the axioms plus the property added. This fact, combined with a "full specification" property of axiomatizations, leads to a new method of proof of inductive properties--not requiring the explicit invocation of an inductive rule of inference.

References

[1]
Bledsoe W. W., and P, Bruell, "A Man-Machine Theorem-Proving System," Artificial Intelligence, Vol. 5, pp. 51-72 (1974).
[2]
Boyer, R. S., and J S. Moore, "A Lemma Driven Automatic Theorem Prover for Recursive Function Theory," Proceedings IJCAI-77 Conference, Vol. 1, pp. 511-519 (August 1977).
[3]
Burstall, R. M. and J. A. Goguen, "Putting Theories Together to Make Specifications," Proceedings of Fifth International Joint Conference on Artificial Intelligence, August 1977, pp. 1045-1058.
[4]
Courcelle, B., "On Recursive Equations Having a Unique Solution," IRIA-LABORIA Report No. 285, March 1978.
[5]
Dahl, O. J., "Can Program Proving Be Made Practical?" Institute of Informatics, University of Oslo, Norway, (1978).
[6]
Dershowitz, N., and Z. Manna, "Proving Termination with Multiset Orderings," Computer Science Department Report No. STAN-CS-78-651, Stanford University, March 1978.
[7]
Goguen, J. A., and J. J. Tardo, "An Introduction to OBJ: A Language for Writing and Testing Formal Algebraic Specifications," Proceedings of Specification of Reliable Software Conference Boston, April 3-5, 1979, pp. 170-189.
[8]
Goguen, J. A., J. W. Thatcher, E. G. Wagner and J. B. Wright, "Abstract Data Types as Initial Algebras and the Correctness of Data Representations," Proceedings of Conference on Computer Graphics, Pattern Recognition and Data Structure, Beverly Hills, Ca., pp. 89-93 (1975).
[9]
Guttag, J. V., "The Specification and Application to Programming of Abstract Data Types," Ph. D. Thesis, University of Toronto, Department of Computer Science, 1975.
[10]
Guttag, J. V., "Abstract Data Types and the Development of Data Structures," Communications of the ACM, Vol. 20, June 1977, pp. 397-404.
[11]
Guttag, J. V., "Notes on Type Abstraction." Proceedings of Specifications of Reliable Software Conference, Boston, April 3-5, 1979, pp. 36-46. Also to appear in IEEE Transactions on Software Engineering.
[12]
Guttag, J. V., E. Horowitz, and D. R. Musser, "Abstract Data Types and Software Validation," Communications of the ACM, Vol. 21, December 1978.
[13]
Guttag, J. V., E. Horowitz, and D. R. Musser, "The Design of Data Type Specifications," in Current Trends in Programming Methodology, Vol. IV, R. T. Yeh, ed., Prentice-Hall, 1978.
[14]
Guttag, J. V., and Horning, J. J., "The Algebraic Specification of Abstract Data Types," Acta Informatica, 10, 27-52, 1978.
[15]
von Henke, F. W. and Luckham, D. C., "A Methodology for Verifying Programs," Proceedings of 1975 International Conference on Reliable Software, Los Angeles, April 1975, pp. 156-163.
[16]
Huet, G. "Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems," IRIA - LABORIA Report No. 250, Domaine de Voluceau, 78150 Rocquencourt, France.
[17]
Huet, G. and D. S. Lankford, "On the Uniform Halting Problem for Term Rewriting Systems," IRIA - LABORIA Report.
[18]
Knuth, D. E. and P. B. Bendix, "Simple Word Problems in Universal Algebras," in Computational Problems in Abstract Algebra, J. Leech, ed., Pergamon Press, New York, 1970, pp. 263-297.
[19]
Lankford D. S., Canonical Inference, University of Texas Automatic Theorem Proving Project Report ATP-32, December 1975.
[20]
Lankford, D. S. and A. M. Ballantyne, Decision Procedures for Simple Equational Theories with Commutative-Associative Axioms: Complete Sets of Commutative-Associative Reductions, University of Texas Automatic Theorem Proving Project Report ATP-39, August 1977.
[21]
Lipton, R. and Snyder, L., "On the Halting of Tree Replacement Systems," Conference on Theoretical Computer Science, University of Waterloo, 1977.
[22]
Musser, D. R., "A Data Type Verification System Based on Rewrite Rules," Proceedings of the Sixth Texas Conference on Computing Systems, Austin Texas, November 1977.
[23]
Musser, D. R., "Abstract Data Type Specification in the AFFIRM System," Proceedings of the Specifications of Reliable Software Conference, Boston, April 3-5, 1979, pp. 47-57. Also to appear in IEEE Transactions on Software Engineering.
[24]
Nakajima, R., "Sypes--Partial Types--for Program and Specification Structuring and a First Order System Iota Logic," Research Report No. 22, Institute of Informatics, University of Oslo, November 1977.
[25]
Nelson, G. and D. C. Oppen, "A Simplifier Based on Efficient Decision Algorithms," Proceedings of the Fifth ACM Symposium on Principles of Programming Languages, Tucson Arizona, January 1978.
[26]
Spitzen, J., and B. Wegbreit, "The Verification and Synthesis of Data Structures," Acta Informatica, vol. 4, (1975), pp. 127-144.
[27]
Stickel, M. E. and G. E. Peterson, "Complete Sets of Reductions for Equational Theories with Complete Unification Algorithms," Department of Computer Sciences, University of Arizona, and Department of Mathematical Sciences, University of Missouri, September, 1977.
[28]
Suzuki, N., "Verifying Programs by Algebraic and Logical Reduction," Proceedings of 1975 International Conference on Reliable Software, Los Angeles, April 1975, pp. 473-481.
[29]
Zilles, S. N., An Introduction to Data Algebra, Draft Working Paper, IBM San Jose Research Lab., Sept. 1975.

Cited By

View all
  1. On proving inductive properties of abstract data types

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '80: Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 1980
    261 pages
    ISBN:0897910117
    DOI:10.1145/567446
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 January 1980

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)56
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 06 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media