Abstract
We show how Horn logic programs can be implemented using database techniques, namely, mostly bottom-up in combination with certain top-down elements (as opposed to the topdown implementations of logic programs prevailing so far). The proposed method is sound and complete. It easily lends itself to a parallel implementation, and is free of nonlogical features, like backtracking. In extension to the common approach to deductive databases, we allow function symbols to appear in programs, and show that much of the database query optimization can be applied to optimize logic programs. An important advantage of our approach is its ability to successfully evaluate many programs that terminate under neither pure topdown nor bottom-up evaluation strategies.
| Original language | English |
|---|---|
| Pages (from-to) | 922-935 |
| Number of pages | 14 |
| Journal | IEEE Transactions on Software Engineering |
| Volume | 14 |
| Issue number | 7 |
| DOIs | |
| State | Published - Jul 1988 |
Keywords
- Bottom-up evaluation
- databases
- logic programming
- query optimization
- safety