Vasconcelos W.W., Aragão M.A.T., Fuchs N.E. (1996) Automatic bottom-up analysis and transformation of logic programs. In: Borges D.L., Kaestner C.A.A. (eds) Advances in Artificial Intelligence. SBIA 1996. Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence), vol 1159. Springer, Berlin, Heidelberg
The comparatively small size and clean declarative semantics of logic programs hide performance issues that must be accounted for if the programs are to be executed using the currently available technology. Proposals have been made to tackle these computational issues by analysing a program and trying to optimise its code. We introduce a bottom-up method for analysing logic programs. The method incrementally builds self-contained subtheories of the initial program, starting from facts and then picking up more complex clauses that depend on simpler, previously analysed constructs. A transformation system is then applied to these subtheories yielding more efficient subprograms. Eventually a subtheory that encompasses the full initial program is obtained.
Logic programming automatic program transformation