The art of Prolog: advanced programming techniques
The art of Prolog: advanced programming techniques
Journal of Logic Programming
New Generation Computing
A transformational approach to negation in logic programming
Journal of Logic Programming
Handbook of theoretical computer science (vol. B)
What is failure?: an approach to constructive negation
Acta Informatica
Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
Negation and constraint logic programming
Information and Computation
An alternative transformation rule for logic programs
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Redundant Argument Filtering of Logic Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Compilative Constructive Negation in Constraint Logic Programs
CAAP '94 Proceedings of the 19th International Colloquium on Trees in Algebra and Programming
Constructive negation by bottom-up computation of literal answers
Proceedings of the 2004 ACM symposium on Applied computing
Hi-index | 0.00 |
A variable is local if it occurs in a clause body but not in its head. Local variables appear naturally in practical logic programming, but they complicate several aspects such as negation, compilation, memoization, static analysis, program approximation by neural networks etc. As a consequence, the absence of local variables yields better performance of several tools and is a prerequisite for many technical results. In this paper, we introduce an algorithm that eliminates local variables from a wide proper subclass of normal logic programs. The proposed transformation preserves the Clark-Kunen semantics for normal logic programs.