The Prolog evaluation algorithm has become the standard for logic program evaluation, and bottom-up methods have long been considered impractical because they compute irrelevant facts. Recently, however, bottom-up evaluation algorithms that retain the focusing property of top-down evaluation have been proposed, and in view of these algorithms the choice between top-down and bottom-up methods needs to be re-examined. In order to motivate a closer look at bottom-up methods, we identify certain classes of logic programs for which bottom-up evaluation provides polynomial time evaluation algorithms where Prolog takes exponential time. We also demonstrate that techniques such as predicate factoring can provide further O(n) improvement, when t...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...
This paper introduces a new strategy for the efficient goal directed bottomup evaluation of logic pr...
AbstractThis paper introduces a new strategy for the efficient goal directed bottom-up evaluation of...
An accident of implementation may be responsible for the fact that Logic Programming, Deductive Data...
There is a tension between the objectives of avoiding irrelevant computation and extracting parallel...
Memoization, such as that performed by bottom-up evaluation, helps detect loops, avoid repeated comp...
The functional and logic programming research communities are to a signif-icant extent solving the s...
This paper illustrates the role of a class of ''prop''-ositional logic programs in the analysis of c...
AbstractThis paper illustrates the role of a class of “prop”-ositional logic programs in the analysi...
The purpose of this paper is to present some current investigations in the field of program transfor...
In software development an emphasis is placed on creating reusable general programs which solve a wi...
Abstraction in programming languages is usually achieved at the price of run time efficiency. This t...
Program specialization is a program transformation methodology which improves program efficiency by ...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...
This paper introduces a new strategy for the efficient goal directed bottomup evaluation of logic pr...
AbstractThis paper introduces a new strategy for the efficient goal directed bottom-up evaluation of...
An accident of implementation may be responsible for the fact that Logic Programming, Deductive Data...
There is a tension between the objectives of avoiding irrelevant computation and extracting parallel...
Memoization, such as that performed by bottom-up evaluation, helps detect loops, avoid repeated comp...
The functional and logic programming research communities are to a signif-icant extent solving the s...
This paper illustrates the role of a class of ''prop''-ositional logic programs in the analysis of c...
AbstractThis paper illustrates the role of a class of “prop”-ositional logic programs in the analysi...
The purpose of this paper is to present some current investigations in the field of program transfor...
In software development an emphasis is placed on creating reusable general programs which solve a wi...
Abstraction in programming languages is usually achieved at the price of run time efficiency. This t...
Program specialization is a program transformation methodology which improves program efficiency by ...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...