Journal of Automated Reasoning

, Volume 15, Issue 2, pp 237–265

The anatomy of vampire

Implementing bottom-up procedures with code trees
  • Andrei Voronkov
Article

DOI: 10.1007/BF00881918

Cite this article as:
Voronkov, A. J Autom Reasoning (1995) 15: 237. doi:10.1007/BF00881918

Abstract

We present an implementation technique for a class of bottom-up logic procedures. The technique is based oncode trees. It is intended to speed up most important and costly operations, such as subsumption and resolution. As an example, we consider the forward subsumption problem which is the bottleneck of many systems implementing first-order logic.

To efficiently implement subsumption, we specialize subsumption algorithms at run time, using theabstract subsumption machine. The abstract subsumption machine makes subsumption-check using sequences of instructions that are similar to the WAM instructions. It gives an efficient implementation of the “clause at a time” subsumption problem. To implement subsumption on the “set at a time” basis, we combine sequences of instructions incode trees.

We show that this technique yields a new way of indexing clauses. Some experimental results are given.

The code trees technique may be used in various procedures, including binary resolution, hyper-resolution, UR-resolution, the inverse method, paramodulation and rewriting, OLDT-resolution, SLD-AL-resolution, bottom-up evaluation of logic programs, and disjunctive logic programs.

Key words

bottom-up algorithmsindexingsubsumptionottersvampires

Copyright information

© Kluwer Academic Publishers 1995

Authors and Affiliations

  • Andrei Voronkov
    • 1
  1. 1.Computing Science DepartmentUppsala UniversitySweden