Minimal Herbrand models of sets of first-order clauses are useful in several areas of computer science, e.g. automated theorem proving, program verification, logic programming, databases, and artificial intelligence. In most cases, the conventional model generation algorithms are
inappropriate because they generate nonminimal Herbrand models and can
be inefficient. This article describes an approach for generating the minimal
Herbrand models of sets of first-order clauses. The approach builds upon
positive unit hyperresolution (PUHR) tableaux, that are in general smaller
than conventional tableaux. PUHR tableaux formalize the approach initially introduced with the theorem prover SATCHMO. Two minimal model generation procedures are described. The first one expands PUHR tableaux
depth-first relying on a complement splitting expansion rule and on a form
of backtracking involving constraints. A Prolog implementation, named
MM-SATCHMO, of this procedure is given and its performance on benchmark suites is reported. The second minimal model generation procedure
performs a breadth-first, constrained expansion of PUHR (complement)
tableaux. Both procedures are optimal in the sense that each minimal model
is constructed only once, and the construction of nonminimal models is interrupted as soon as possible. They are complete in the following sense
The depth-first minimal model generation procedure computes all minimal
Herbrand models of the considered clauses provided these models are all
finite. The breadth-first minimal model generation procedure computes all
finite minimal Herbrand models of the set of clauses under consideration.
The proposed procedures are compared with related work in terms of both
principles and performance on benchmark problems