Worst-case complexity analysis of methods for logic query implementation
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
The generalized counting method for recursive logic queries
Theoretical Computer Science - First International Conference on Database Theory, Rome, September 1986
Journal of Logic Programming
Towards a unified theory of intensional logic programming
Journal of Logic Programming
Finite representation of infinite query answers
ACM Transactions on Database Systems (TODS)
An analysis of magic sets and related optimization strategies for logic queries
Journal of the ACM (JACM)
Counting methods for cyclic relations
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Semantics and expressive power of nondeterministic constructs in deductive databases
Journal of Computer and System Sciences
The Branching-Time Transformation Technique for Chain Datalog Programs
Journal of Intelligent Information Systems
Programming with non-determinism in deductive databases
Annals of Mathematics and Artificial Intelligence
Unfold/Fold Transformations For Definite Clause Programs
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
On Transformations into Linear Database Logic Programs
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
A Transformation Technique for Datalog Programs Based on Non-deterministic Constructs
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Linearisability on datalog programs
Theoretical Computer Science
Higher-order functional languages and intensional logic
Journal of Functional Programming
First-order functional languages and intensional logic
Journal of Functional Programming
Branching-time logic programming: the language Cactus and its applications
Computer Languages
Hi-index | 0.00 |
The branching-time transformation is a recent technique for optimizing Chain Datalog programs. In this paper we propose a significant extension of the branching-time transformation which we believe opens up a promising new direction of research in the area of value-propagating Datalog optimizations. More specifically, the proposed transformation can handle more general programs that allow multiple consumptive occurrences of variables in the bodies of clauses. This extension is achieved by using as target language the temporal logic programming formalism Datalog$_{nS}$ enriched with choice predicates (a non-deterministic construct that was originally introduced in the area of intensional logic programming). We demonstrate the correctness of the transformation and propose several optimizations that can be applied to the target code. Moreover, we define a bottom-up proof procedure that applies to the target programs and demonstrate that it always terminates (despite the fact that the Herbrand base of these programs is generally infinite).