Efficient model generation through compilation

  • Heribert Schütz
  • Tim Geisler
Session 6A
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1104)


We present a collection of simple but powerful techniques for enhancing the efficiency of model-generation theorem provers such as Satchmo. The central ideas are to compile a clausal first order theory into a procedural Prolog program and to avoid redundant work of a naïve implementation. We also give an efficient implementation for complement splitting, a method for minimizing the first generated model and for pruning the search space. Furthermore we show that it is not efficient to ensure fair selection of clauses by a purely breadth-first search strategy and present a significantly more efficient strategy.

We have compared various combinations of our techniques among each other and with the theorem provers MGTP/G, Otter, and SETHEO, using the TPTP Problem Library as a benchmark. Our implementation has turned out to be the most efficient for range-restricted problems and for a class of problems we call “non-nesting”.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    F. Bancilhon and R. Ramakrishnan. An amateur's introduction to recursive query processing strategies. In Proc. ACM SIGMOD 1986, pages 16–52. ACM, 1986.Google Scholar
  2. 2.
    R. Bayer. Query evaluation and recursion in deductive database systems. Technical Report TUM-I8503, Technische Universität München, 1985.Google Scholar
  3. 3.
    F. Bry and A. Yahya. Minimal model generation with positive unit hyper-resolution tableaux. In 5th Workshop on Theorem Proving with Tableaux and Related Methods, Springer LNAI, 1996.Google Scholar
  4. 4.
    C. Forgy. Rete: A fast algorithm for the many patterns/many objects pattern match problem. Artificial Intelligence, 19(1):17–37, 1982.CrossRefGoogle Scholar
  5. 5.
    H. Fujita and R. Hasegawa. A model generation theorem prover in KL1 using a ramified-stack algorithm. In Logic Programming, Proc. of the 8th Int. Conf., pages 535–548, 1991.Google Scholar
  6. 6.
    C. Goller, R. Letz, K. Mayr, and J. Schumann. SETHEO V3.2: Recent devleopments. In Automated Deduction — CADE-12, Springer LNAI 814, pages 778–782, 1994.Google Scholar
  7. 7.
    Institute for New Generation Computer Technology. Model Generation Theorem Prover: MGTP, 1995. Scholar
  8. 8.
    R. Manthey and F. Bry. SATCHMO: A theorem prover implemented in Prolog. In 9th Int. Conf. on Automated Deduction (CADE), Springer LNCS 310, pages 415–434, 1988.Google Scholar
  9. 9.
    W. W. McCune. Otter 3.0 reference manual and guide. Technical Report ANL 94/6, Argonne National Laboratory, 1994.Google Scholar
  10. 10.
    D. Sahlin. An Automatic Partial Evaluator for Full Prolog. SICS Dissertation Series 04, The Royal Institute of Technology (KTH), 1991.Google Scholar
  11. 11.
    H. Schütz. Tuple-oriented Bottom-up Evaluation of Logic Programs. PhD thesis, Technische Universität München, 1993. in German.Google Scholar
  12. 12.
    M. E. Stickel. A Prolog technology theorem prover: Implementation by an extended Prolog compiler. Journal of Automated Reasoning, 4:353–380, 1988.CrossRefGoogle Scholar
  13. 13.
    G. Sutcliffe, C. Suttner, and T. Yemenis. The TPTP problem library. In Automated Deduction — CADE-12, Springer LNAI 814, pages 252–266, 1994.Google Scholar
  14. 14.
    J. E. Wunderwald. Memoing evaluation by source-to-source transformation. In Fifth Int. Workshop on Logic Program Synthesis and Transformation, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Heribert Schütz
    • 1
  • Tim Geisler
    • 1
  1. 1.Institut für InformatikUniversität MünchenMünchen

Personalised recommendations