Skip to main content
Log in

A pragmatic approach to resolution-based theorem proving

  • Published:
International Journal of Computer & Information Sciences Aims and scope Submit manuscript

Abstract

Resolution theory offers a simple, complete method for proving theorems but is generally considered impractical. The theorems we are interested in proving arise in the analysis of programs and usually involve quantification. We have developed a system for proving these theorems using resolution, but have embedded in it a simplifier as the central component. The simplifier is an integrated collection of algorithms for normalizing arithmetic, relational, and logical expressions. The knowledge in the simplifier is encoded in procedures, rather than as axioms or rules. We use the simplifier to prove certain theorems, reduce the clutter in theorems, and reduce the cost of unification, Inherent in the normal form algorithms is the notion of strengthening (e.g., inferringa =b froma ⩽ b ANDb ⩽ a). We have incorporated the notion into the unification algorithm as well. The design of the system permits its use along a spectrum from pure resolution to resolution with interpretation of the arithmetic and relational operators. Strengthening is a heuristic that permits the movement along this spectrum. We call the approachi-resolution.i-resolution does not preserve completeness; it does define a means for approaching completeness efficiently and systematically. It thus attempts to provide a pragmatic approach to mechanical theorem proving.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. R. Anderson, “Completeness results for E-resolution,”Proceedings of the AFIPS 1970 SJCC AFIPS Press (Montvale, New Jersey), pp. 653–656.

  2. W. W. Bledsoe, “Non-resolution theorem proving,”Artif. Intell. 9:1–35 (1977).

    Google Scholar 

  3. W. W. Bledsoe and Peter Bruell, “A man-machine theorem-proving system,”Artif. Intell. 5:51–72 (1974).

    Google Scholar 

  4. W. W. Bledsoe, R. S. Boyer, and W. H. Henneman, “Computer proofs of limit theorems,”Artif. Intell. 3:27–60 (1972).

    Google Scholar 

  5. R. S. Boyer and J. S. Moore, “Proving theorems about LISP functions,”J. ACM 22:129–144 (January 1975).

    Google Scholar 

  6. R. S. Boyer, B. Elspas, and K. N. Levitt, “SELECT-A formal system for testing and debugging programs by symbolic evaluation,”Proceedings of the International Conference on Reliable Software, Los Angeles, California, April 1975, pp. 234–245.

  7. D. D. Chamberlin, J. N. Gray, and I. L. Traiger, “Views authorization and locking in a relational data base system,”Proceedings of the 1975 National Computer Conference, Anaheim, California, May 1975, pp. 425–430.

    Google Scholar 

  8. T. E. Cheatham, Jr., and J. A. Townley, “Program Analysis Techniques for Software Reliability,” TR-22-76, Center for Research in Computing Technology, Harvard University, Cambridge, Massachusetts (1976).

    Google Scholar 

  9. T. E. Cheatham, Jr., G. H. Holloway, and J. A. Townley, “Symbolic evaluation and the analysis of programs,”IEEE Trans. Software Eng.,SE-5:402–417 (July 1979).

    Google Scholar 

  10. L. P. Deutsch, “An Interactive Program Verifier,” Ph.D. Thesis, University of California, Berkeley, California (1973).

    Google Scholar 

  11. B. Elspas, K. N. Levitt, and R. J. Waldinger, “An Interactive System for the Verification of Computer Programs,” SRI Project 1891, Final Report, Stanford Research Institute, Stanford, California (September 1973).

    Google Scholar 

  12. D. I. Good, R. L. London, and W. W. Bledsoe, “An interactive program verification system,”IEEE Trans. Software Eng. SE-1:59–67 (March 1975).

    Google Scholar 

  13. L. Hodes, “Solving problems by formula manipulation in logic and linear inequalities,”Artif. Intell. 3:165–174 (1972).

    Google Scholar 

  14. W. E. Howden, “Symbolic testing and the DISSECT symbolic evaluation system,”IEEE Tram. Software Eng. SE-3(4):266–278 (July 1977).

    Google Scholar 

  15. S. Igarashi, R. L. London, and D. C. Luckham, “Automatic Program Verification, I: A Logical Basis and Its Implementation,” Artificial Intelligence Laboratory MEMO AIM-200, Stanford University, Stanford, California (May 1973).

    Google Scholar 

  16. A. K. Jones and B. A. Liskov, “A language extension for expression constraints on data access,”Comm. ACM 21(5):358–367 (May 1978).

    Google Scholar 

  17. J. C. King, “A Program Verifier,” Ph.D. Thesis, Carnegie-Mellon University, Pittsburgh, Pennsylvania (1969).

    Google Scholar 

  18. J. C. King, “A new approach to program testing,”Proceedings of the Conference on Reliable Software,” Los Angeles, California, April 1975, pp. 228–233.

  19. D. E. Knuth and P. B. Bendix, “Simple word problems in universal algebras,” inComputational Problems in Abstract Algebra, J. Leech, Ed. (Pergamon, Oxford, 1970), pp. 263–297.

    Google Scholar 

  20. R. Kowalski, “Search strategies for theorem proving,” inMachine Intelligence, Vol. 5, B. Meltzer and D. Michie, Eds. (Elsevier, North-Holland, 1970), pp. 181–200.

    Google Scholar 

  21. B. H. Liskov, “An introduction to CLU,” inNew Directions in Algorithmic Languages, 1976, S. A. Schuman, Ed., (IRIA, Rocquencourt, France, 1976).

    Google Scholar 

  22. R. L. London, and D. R. Musser, “The application of a symbolic mathematical system to program verification,”Proceedings of the ACM Annual Conference, 1974, pp. 265–273.

  23. J. Minker, J. R. McSkimin, and D. H. Fishman, “MRPPS, an interactive refutation proof procedure system for question answering,”J. Compt. Inform. Sci. 3:1–31 (June 1974).

    Google Scholar 

  24. J. B. Morris, “E-resolution: Extension of resolution to include the equality relation,”Proceedings of the International Joint Conference on Artificial Intelligence, 1975, pp. 287–294.

  25. J. Mylopoulos, P. A. Bernstein, and J. K. T. Wong, “A Preliminary Specification of TAXIS: A Language for Designing Interactive Information Systems,” Computer Corporation of America, Cambridge, Massachusetts (January 1978).

    Google Scholar 

  26. G. Nelson and D. C. Oppen, “A simplifier based on efficient decision algorithms,”Proceedings of the Fifth ACM Symposium on Principles of Programming Languages, 1978, pp. 141–150.

  27. A. J. Nevins, “A human oriented logic for automatic theorem-proving,”J. ACM 21(4):606–621 (October 1974).

    Google Scholar 

  28. N. J. Nilsson, “Artificial intelligence,”Proceedings of the IFIP Congress 1974, Stockholm, Sweden.

  29. G. D. Plotkin, “Building equational theories,”Machine Intell. 7:73–89 (1972).

    Google Scholar 

  30. J. A. Robinson, “A machine oriented logic based on the resolution principle,”J. ACM 12:23–41 (January 1965).

    Google Scholar 

  31. W. L. Scherlis, “A Rule Language and its Implementation,” Stanford University, Stanford, California (undated draft).

  32. R. E. Shostak, “An Efficient Decision Procedure for Arithmetic with Function Symbols,” SRI Report CSL-65, Stanford Research Institute, Stanford, California (1977).

    Google Scholar 

  33. J. R. Slagle, “Automatic theorem proving with built-in theories including equality, partial ordering, and sets,”J. ACM 19(1):120–135 (January 1972).

    Google Scholar 

  34. J. R. Slagle, “Automated theorem-proving for theories with simplifiers, commutativity, and associativity,”J. ACM 21(4):622–642(October 1974).

    Google Scholar 

  35. J. R. Slagle and L. M. Norton, “Experiments with an automatic theorem-prover having partial ordering inference rules,”Comm. ACM 6(11):682–688 (November 1973).

    Google Scholar 

  36. M. E. Stickel, “A complete unification algorithm for associative-commutative functions,”Proceedings of the International Joint Conference on Artificial Intelligence, 1975, pp. 71–76.

  37. M. Stonebraker, “Implementation of views and integrity constraints in relational data base systems by query modification,”Proceedings 1975 SIGMOD Workshop on Management of Data, San Jose, California, May 1975, pp. 65–78.

  38. N. Suzuki, “Verifying programs by algebraic and logical deduction,”Proceedings of the International Conference on Reliable Software, Los Angeles, California, April 1975, pp. 473–481.

  39. B. Wegbreit, “Constructive methods in program verification,”IEEE Trans. Software Eng. SE-3(3):193–209 (May 1977).

    Google Scholar 

  40. G. A. Wilson and J. Minker, “Resolution, refinements, and search strategies: comparative study,”IEEE Trans. Comps. C-25(8):782–801 (August 1976).

    Google Scholar 

  41. L. Wos, G. A. Robinson, and D. F. Carson, “Efficiency and completeness of the set of support strategy in theorem proving,”J. ACM 12(4): 536–541 (October 1965).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Townley, J.A. A pragmatic approach to resolution-based theorem proving. International Journal of Computer and Information Sciences 9, 93–116 (1980). https://doi.org/10.1007/BF00982291

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00982291

Key words

Navigation