Deep Logic Program Transformation Using Abstract Interpretation

This paper presents a procedure for deep transformation of logic programs, which is based upon partial evaluation of source logic programs and includes unfolding, term rewriting and deriving new predicates. Controlling of these operations is based upon abstract OLDT interpretation, which is used to produce transformation guide for a corresponding residual code generator. The abstract interpretation schema includes the rules for abstract domains construction, which can be tuned for a particular application. The algorithms are applicable for deep transformations, which occur when compiling meta-interpreters.