Towards an algebraic theory of recursion
- 1 April 1991
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 38 (2) , 329-381
- https://doi.org/10.1145/103516.103521
Abstract
An algebraic framework for the study of recursion has been developed. For immediate linear recursion, a Horn clause is represented by a relational algebra operator. It is shown that the set of all such operators forms a closed semiring. In this formalism, query answering corresponds to solving a linear equation. For the first time, the query answer is able to be expressed in an explicit algebraic form within an algebraic structure. The manipulative power thus afforded has several implications on the implementation of recursive query processing algorithms. Several possible decompositions of a given operator are presented that improve the performance of the algorithms, as well as several transformations that give the ability to take into account any selections or projections that are present in a givin query. In addition, it is shown that mutual linear recursion can also be studied within a closed semiring, by using relation vectors and operator matrices. Regarding nonlinear recursion, it is first shown that Horn clauses always give rise to multilinear recursion, which can always be reduced to bilinear recursion. Bilinear recursion is then shown to form a nonassociative closed semiring. Finally, several sufficient and necessary-and-sufficient conditions for bilinear recursion to be equivalent to a linear one of a specific form are given. One of the sufficient conditions is derived by embedding to bilinear recursion in an algebra.Keywords
This publication has 17 references indexed in Scilit:
- On compile-time query optimization in deductive databases by means of static filteringACM Transactions on Database Systems, 1990
- Necessary and sufficient conditions to linearize doubly recursive programs in logic databasesACM Transactions on Database Systems, 1990
- Moving selections into linear least fixpoint queriesIEEE Transactions on Knowledge and Data Engineering, 1989
- Minimizing function-free recursive inference rulesJournal of the ACM, 1989
- On compiling queries in recursive first-order databasesJournal of the ACM, 1984
- Contributions to the Theory of Logic ProgrammingJournal of the ACM, 1982
- Equivalences Among Relational Expressions with the Union and Difference OperatorsJournal of the ACM, 1980
- Algebraic structures for transitive closureTheoretical Computer Science, 1977
- The Semantics of Predicate Logic as a Programming LanguageJournal of the ACM, 1976
- Regular Algebra Applied to Path-finding ProblemsIMA Journal of Applied Mathematics, 1975