Subsumption-free bottom-up evaluation of logic programs with partially instantiated data structures [chapter]

Zoltan Somogyi, David Kemp, James Harland, Kotagiri Ramamohanarao
1994 Lecture Notes in Computer Science  
Most deductive databases impose restrictions on the terms that can be used in them: they require that generated tuples be fully ground, i.e. contain no variables. Without this restriction, query evaluation of general programs needs subsumption tests in order to terminate correctly, and subsumption tests are expensive. We study a class of programs that can handle terms with both variables and function symbols but for which subsumption tests are not necessary. This class is based on the notion of
more » ... modes, which generalise adornments by not requiring that \bound" be synonymous with \ground". We show how programs in this class may be recognized and how they should be transformed into an executable form, and then prove that bottom-up evaluation of the resulting programs does not require subsumption tests. p(X). p(f(X)) :-p(X).
doi:10.1007/3-540-57818-8_41 fatcat:ydzh5eintngnlcpx2ojo4jd42y