skip to main content
research-article

Simultaneous checking of completeness and ground confluence for algebraic specifications

Published:08 April 2009Publication History
Skip Abstract Section

Abstract

Algebraic specifications provide a powerful method for the specification of abstract data types in programming languages and software systems. Completeness and ground confluence are fundamental notions for building algebraic specifications in a correct and modular way. Related works for checking ground confluence are based on the completion techniques or on the test that all critical pairs between axioms are valid with respect to a sufficient criterion for ground confluence. It is generally accepted that such techniques may be very inefficient, even for very small specifications. Indeed, the completion procedure often diverges and there often exist many critical pairs of the axioms. In this article, we present a procedure for simultaneously checking completeness and ground confluence for specifications with free/nonfree constructors and parameterized specifications. If the specification is not complete or not ground confluent, then our procedure will output the set of patterns on whose ground instances a function is not defined and it can easily identify the rules that break ground confluence. In contrast to previous work, our method does not rely on completion techniques and does not require the computation of critical pairs of the axioms. The method is entirely implemented and allowed us to prove the completeness and the ground confluence of many specifications in a completely automatic way, where related techniques diverge or generate very complex proofs. Our system offers two main components: (i) a completeness and ground confluence analyzer that computes pattern trees of defined functions and may generate some proof obligations; and (ii) a procedure to prove (joinable) inductive conjectures which is used to discharge these proof obligations.

References

  1. Becker, K. 1993. Proving ground confluence and inductive validity in constructor based equational specifications. In Proceedings of the 4th International Joint Conference on Theory and Practice of Software Development. M.-C. Gaudel and J.-P. Jouannaud, Eds. Lecture Notes in Computer Science, vol. 668. Springer, 46--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Becker, K. 1996. How to prove ground confluence. SEKI-rep. SR-96-02, Universität Kaiserslautern.Google ScholarGoogle Scholar
  3. Bouhoula, A. 1996. Using induction and rewriting to verify and complete parameterized specifications. Theor. Comput. Sci. 170, 1-2, 245--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bouhoula, A. 1997. Automated theorem proving by test set induction. J. Symbol. Comput. 23, 1, 47--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bouhoula, A. 2000. Simultaneous checking of completeness and ground confluence. In Proceedings of the 15th IEEE International Conference on Automated Software Engineering. IEEE Computer Society Press, 143--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bouhoula, A. and Jacquemard, F. 2007. Verifying regular trace properties of security protocols with explicit destructors and implicit induction. In Proceedings of the Joint Workshop on Foundations of Computer Security and Automated Reasoning for Security Protocol Analysis (FCS-ARSPA-07), 27--44.Google ScholarGoogle Scholar
  7. Bouhoula, A. and Jouannaud, J.-P. 2001. Automata-Driven automated induction. Inf. Comput. 169, 1, 1--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bouhoula, A., Jouannaud, J.-P., and Meseguer, J. 2000. Specification and proof in membership equational logic. Theor. Comput. Sci. 170, 1-2, 35--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bouhoula, A., Kounalis, E., and Rusinowitch, M. 1995. Automated mathematical induction. J. Logic Comput. 5, 5, 631--668.Google ScholarGoogle ScholarCross RefCross Ref
  10. Bouhoula, A. and Rusinowitch, M. 1995. Implicit induction in conditional theories. J. Autom. Reasoning 14, 2, 189--235.Google ScholarGoogle ScholarCross RefCross Ref
  11. Comon, H. 1986. Sufficient completeness, term rewriting system and anti-unification. In Proceedings of the 8th International Conference on Automated Deduction, J. Siekmann, Ed. Lecture Notes in Computer Science, vol. 230. Springer, 128--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Comon, H. 1989. Inductive proofs by specifications transformations. In Proceedings of the 3rd Conference on Rewriting Techniques and Applications, N. Dershowitz, Ed. Lecture Notes in Computer Science, vol. 355. Springer, 76--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Dershowitz, N. 1983. Well-Founded orderings. Tech. rep. ATR-83-8478-3, Office of Information Sciences Research, The Aerospace Corporation, El Segundo, California. May.Google ScholarGoogle Scholar
  14. Dershowitz, N. 1987. Corrigendum to termination of rewriting. J. Symbol. Comput. 4, 3, 409--410. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dershowitz, N. and Jouannaud, J.-P. 1990. Handbook of Theoretical Computer Science. Vol. B. Elsevier Science B. V., North-Holland, Chapter 6: Rewrite Systems, 244--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Dershowitz, N. and Okada, M. 1990. A rationale for conditional equational programming. Theor. Comput. Sci. 75, 111--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Dershowitz, N., Okada, M., and Sivakumar, G. 1987. Confluence of conditional rewrite systems. In Proceedings of the 1st International Workshop on Conditional Term Rewriting Systems, J.-P. Jouannaud and S. Kaplan, Eds. Lecture Notes in Computer Science, vol. 308. Springer, 31--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ehrig, H. and Mahr, B. 1985. Fundamentals of Algebraic Specification 1. Equations and Initial Semantics. EATCS Monographs on Theoretical Computer Science, vol. 6. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fribourg, L. 1989. A strong restriction of the inductive completion procedure. J. Symbol. Comput. 8, 3, 253--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Futatsugi, K., Goguen, J. A., Jouannaud, J.-P., and Meseguer, J. 1985. Principles of OBJ-2. In Proceedings of the 12th ACM Symposium on Principles of Programming Languages, B. Reid, Ed. ACM, 52--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ganzinger, H. 1987. Ground term confluence in parametric conditional equational specifications. In Proceedings of the Annual Symposium on Theoretical Aspects of Computer Science (STACS'87), F. J. Brandenburg et al. Eds. Lecture Notes in Computer Science, vol. 247. Springer, 286--298. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Göbel, R. 1987. Ground confluence. In Proceedings of the 2nd Conference on Rewriting Techniques and Applications, P. Lescanne, Ed. Lecture Notes in Computer Science, vol. 256. Springer, 156--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Goguen, J. A. and Meseguer, J. 1988. Order-Sorted algebra I: Partial and overloaded operations, errors and inheritance. Tech. rep., SRI International, Computer Science Lab. Given as lecture at a Seminar on Types, Carnegie-Mellon University, June 1983.Google ScholarGoogle Scholar
  24. Gramlich, B. and Wirth, C.-P. 1996. Confluence of terminating conditional rewrite systems revisited. In Proceedings of the 7th Conference on Rewriting Techniques and Applications, H. Ganzinger, Ed. Lecture Notes in Computer Science, vol. 1103. Springer), 245--259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Guttag, J. V. and Horning, J. J. 1978. The algebraic specification of abstract data types. Acta Inf. 10, 27--52.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Huet, G. and Hullot, J.-M. 1982. Proofs by induction in equational theories with constructors. J. Comput. Syst. Sci. 25, 2, 239--266. Preliminary version in Proceedings of the 21st Symposium on Foundations of Computer Science, IEEE, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jouannaud, J.-P. and Kounalis, E. 1989. Automatic proofs by induction in theories without constructors. Inf. Comput. 82, 1--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Kaplan, S. 1987. Simplifying conditional term rewriting systems: Unification, termination and confluence. J. Symbol. Comput. 4, 3, 295--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kapur, D. 1994. An automated tool for analyzing completeness of equational specifications. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), Special Issue of Software Engineering Notes, J. Siekmann, Ed. ACM Press, 28--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kapur, D., Narendan, P., and Otto, F. 1990. On ground confluence of term rewriting systems. Inf. Comput. 86, 1, 14--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kapur, D. and Narendran, P. 1992. Double-Exponential complexity of computing a complete set of AC-unifiers. In Proceedings of the 9th IEEE Symposium on Logic in Computer Science. IEEE.Google ScholarGoogle Scholar
  32. Kapur, D., Narendran, P., Rosenkrantz, D.-J., and Zhang, H. 1991. Sufficient-Completeness, ground-reducibility and their complexity. Acta Inf. 28, 4, 311--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Kounalis, E. 1985. Completeness in data type specifications. In Proceedings EUROCAL Conference, B. Buchberger, Ed. Lecture Notes in Computer Science, vol. 204. Springer, 348--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Kounalis, E. and Rusinowitch, M. 1991. Studies on the ground convergence property of conditional theories. In Proceedings of the AMAST Workshop in Computing. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Küchlin, W. 1985. A confluence criterion based on the generalised Knuth-Bendix algorithm. In Proceedings of the EUROCAL Conference, B. Buchberger, Ed. Lecture Notes in Computer Science, vol. 204. Springer, 390--399. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Lazrek, A., Lescanne, P., and Thiel, J.-J. 1990. Tools for proving inductive equalities, relative completeness and ω-completeness. Inf. Comput. 84, 1, 47--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Padawitz, P. 1988. The equational theory of parameterized specifications. Inf. Comput. 76, 121--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Plaisted, D. A. 1985. Semantic confluence tests and completion methods. Inf. Control 65, 2-3, 182--215.Google ScholarGoogle ScholarCross RefCross Ref
  39. Schmidt-Schauss, M. 1989. Computational Aspects of an Order-Sorted Logic with Term Declarations. Lecture Notes in Computer Science, vol. 395. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Smolka, G., Nutt, W., Goguen, J. A., and Meseguer, J. 1987. Order sorted equational computation. In Proceedings of the Colloquium on Resolution of Equations in Algebraic Structures.Google ScholarGoogle Scholar
  41. Thiel, J.-J. 1984. Stop losing sleep over incomplete data type specifications. In Proceedings of the 11th ACM Symposium on Principles of Programming Languages. ACM, 76--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Wirsing, M. 1990. Algebraic specification. In Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics, J. van Leeuwen et al., Eds. Elsevier and MIT Press, Chapter 13, 675--788. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Simultaneous checking of completeness and ground confluence for algebraic specifications

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Computational Logic
              ACM Transactions on Computational Logic  Volume 10, Issue 3
              April 2009
              262 pages
              ISSN:1529-3785
              EISSN:1557-945X
              DOI:10.1145/1507244
              Issue’s Table of Contents

              Copyright © 2009 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 8 April 2009
              • Accepted: 1 April 2008
              • Revised: 1 December 2007
              • Received: 1 July 2006
              Published in tocl Volume 10, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader