Logical algorithms are defined in terms of individual computation steps that are based on logical inferences. We present a uniform framework for formalizing logical algorithms based on inference systems. We present inference systems for algorithms such as resolution, the Davis–Putnam–Logemann–Loveland procedure, equivalence and congruence closure, and satisfiability modulo theories. The paper is intended as an introduction to the use of inference systems for studying logical algorithms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ble77]
    Bledsoe, W.W.: Non-resolution theorem proving. Artificial Intelligence 9, 1–36 (1977)MATHCrossRefMathSciNetGoogle Scholar
  2. [BM79]
    Boyer, R.S., Moore, J.S.: A Computational Logic. Academic Press, New York (1979)MATHGoogle Scholar
  3. [BTV03]
    Bachmair, L., Tiwari, A., Vigneron, L.: Abstract congruence closure. Journal of Automated Reasoning 31(2), 129–168 (2003)MATHCrossRefMathSciNetGoogle Scholar
  4. [Buc76]
    Buchberger, B.: A theoretical basis for the reduction of polynomials to canonical forms. ACM SIGSAM Bulletin 10(3), 19–29 (1976)CrossRefMathSciNetGoogle Scholar
  5. [CAB+86]
    Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice Hall, Englewood Cliffs (1986)Google Scholar
  6. [Coh88]
    Cohen, J.: A view of the origins and development of prolog. Communications of the ACM 31(1), 26–36 (1988)CrossRefGoogle Scholar
  7. [Dav57]
    Davis, M.: A computer program for Presburger’s algorithm. In: Summaries of Talks Presented at the Summer Institute for Symbolic Logic (1957); Reprinted in Siekmann and Wrightson [SW83], pp. 41–48Google Scholar
  8. [dB80]
    de Bruijn, N.G.: A survey of the project Automath. In: To, H.B. (ed.) Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 589–606. Academic Press, London (1980)Google Scholar
  9. [DLL62]
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5(7), 394–397 (1983); Reprinted in Siekmann and Wrightson [SW83], pp. 267–270 (1983)CrossRefMathSciNetGoogle Scholar
  10. [dMRS04]
    de Moura, L., Rueß, H., Shankar, N.: Justifying equality. In: Proceedings of PDPAR 2004 (2004)Google Scholar
  11. [DP60a]
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)MATHCrossRefMathSciNetGoogle Scholar
  12. [DP60b]
    Davis, M., Putnam, H.: A computing procedure for quantification theory. JACM 7(3), 201–215 (1960)MATHCrossRefMathSciNetGoogle Scholar
  13. [DST80]
    Downey, P.J., Sethi, R., Tarjan, R.E.: Variations on the common subexpressions problem. Journal of the ACM 27(4), 758–771 (1980)MATHCrossRefMathSciNetGoogle Scholar
  14. [GM93]
    Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  15. [GMW79]
    Gordon, M., Milner, R., Wadsworth, C.: Edinburgh LCF: A Mechanized Logic of Computation. In: Gordon, M., Wadsworth, C.P., Milner, R. (eds.) Edinburgh LCF. LNCS, vol. 78, Springer, Heidelberg (1979)Google Scholar
  16. [GRS04]
    Ganzinger, H., Rueß, H., Shankar, N.: Modularity and refinement in inference systems. Technical Report CSL-SRI-04-02, SRI International, Computer Science Laboratory, 333 Ravenswood Ave, Menlo Park, CA, 94025 (January 2004), (revised August 2004)Google Scholar
  17. [Har96]
    Harrison, J.: HOL Light: A tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  18. [Kap97]
    Kapur, D.: hostak’s congruence closure as completion. In: Comon, H. (ed.) RTA 1997. LNCS, vol. 1232, pp. 23–37. Springer, Heidelberg (1997)Google Scholar
  19. [KB70]
    Knuth, D.E., Bendix, P.: imple word problems in universal algebras. In: Leech, J. (ed.) Computational Problems in Abstract Algebras, pp. 263–297. Pergamon Press, Oxford (1970)Google Scholar
  20. [Kle52]
    Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)MATHGoogle Scholar
  21. [KMM00]
    Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. In: Advances in Formal Methods., vol. 3, Kluwer, Dordrecht (2000)Google Scholar
  22. [Koz77]
    Kozen, D.: Complexity of finitely presented algebras. In: Conference Record of the Ninth Annual ACM Symposium on Theory of Computing, Boulder, Colorado, May 2–4, pp. 164–177 (1977)Google Scholar
  23. [LP92]
    Luo, Z., Pollack, R.: The LEGO proof development system: A user’s manual. Technical Report ECS-LFCS-92-211, University of Edinburgh (1992)Google Scholar
  24. [McC62]
    McCarthy, J.: Computer programs for checking mathematical proofs. In Recursive Function Theory. In: Proceedings of a Symposium in Pure Mathematics, vol. V, pp. 219–227. American Mathematical Society, Providence (1962)Google Scholar
  25. [McC97]
    McCune, W.W.: Solution of the Robbins problem, Available from ftp://info.mcs.anl.gov/pub/Otter/www-misc/robbins-jar-submitted.ps.gz (1997)
  26. [NO79]
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  27. [NO05]
    Nieuwenhuis, R., Oliveras, A.: Proof-Producing Congruence Closure. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 453–468. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. [NSS57]
    Newell, A., Shaw, J.C., Simon, H.A.: Empirical explorations with the logic theory machine: A case study in heuristics. In: Proc. West. Joint Comp. Conf., pp. 218–239 (1957), Reprinted in Siekmann and Wrightson [SW83], pp. 49–73 (1983)Google Scholar
  29. [Pau94]
    Paulson, L.C.: Isabelle: A Generic Theorem Prover. LNCS, vol. 828. Springer, Heidelberg (1994)MATHGoogle Scholar
  30. [Rob65a]
    Robinson, J.A.: A machine-oriented logic based on the resolution principle. Journal of the ACM 12(1), 23–41 (1965)MATHCrossRefGoogle Scholar
  31. [Rob65b]
    Robinson, J.A.: Automatic deduction with hyper-resolution. International Journal of Computational Mathematics 1, 227–234 (1965)MATHGoogle Scholar
  32. [RV01]
    Robinson, A., Voronkov, A. (eds.): Handbook of Automated Reasoning. Elsevier Science, Amsterdam (2001)MATHGoogle Scholar
  33. [Sho78]
    Shostak, R.E.: An algorithm for reasoning about equality. Communications of the ACM 21(7), 583–585 (1978)MATHCrossRefMathSciNetGoogle Scholar
  34. [Sho79]
    Shostak, R.E.: A practical decision procedure for arithmetic with function symbols. Journal of the ACM 26(2), 351–360 (1979)MATHCrossRefMathSciNetGoogle Scholar
  35. [Sho84]
    Shostak, R.E.: Deciding combinations of theories. Journal of the ACM 31(1), 1–12 (1984)MATHCrossRefMathSciNetGoogle Scholar
  36. [SS98]
    Sutcliffe, G., Suttner, C.B.: The TPTP Problem Library: CNF Release v1.2.1. Journal of Automated Reasoning 21(2), 177–203 (1998)MATHCrossRefMathSciNetGoogle Scholar
  37. [SW83]
    Siekmann, J., Wrightson, G. (eds.): Automation of Reasoning: Classical Papers on Computational Logic. Springer, Heidelberg (1983)Google Scholar
  38. [Tea05]
    Coq Development Team. The Coq proof assistant reference manual, version 8.0. Technical report, INRIA, Rocquencourt, France (January 2005) Google Scholar
  39. [WRC65]
    Wos, L., Robinson, G.A., Carson, D.: Efficiency and completeness of the set of support strategy in theorem proving. Journal of the ACM 12(4), 536–541 (1965)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Natarajan Shankar
    • 1
  1. 1.Computer Science LaboratorySRI InternationalMenlo ParkUSA

Personalised recommendations