TY - JOUR

T1 - Algebraic approach to sharing analysis of logic programs

AU - Codish, Michael

AU - Lagoon, Vitaly

AU - Bueno, Francisco

N1 - Funding Information:
Two or more variables in a logic program are said to be aliased if in some execution of the program they are bound to terms which contain a common variable. A variable in a logic program is said to be ground if it is bound to a ground term in * Corresponding author. Tel.: +61-3-9287-9100; fax: +61-3-9348-l 184; e-mail: mcodish@cs.bgu.ac.il. ’ This work was supported by grants from the Israel Science Foundation and the Israeli Ministry Science. * E-mail: bueno@fi.upm.es.

PY - 2000/1/1

Y1 - 2000/1/1

N2 - This paper describes an algebraic approach to the sharing analysis of logic programs based on an abstract domain of set logic programs. Set logic programs are logic programs in which the terms are sets of variables and unification is based on an associative, commutative, and idempotent equality theory. All of the basic operations required for sharing analyses, as well as their formal justification, are based on simple algebraic properties of set substitutions and set-based atoms. An ordering on set-based syntactic objects, similar to `less general' on concrete syntactic objects, is shown to reflect the notion of `less sharing' information. The (abstract) unification of a pair of set-based terms corresponds to finding their most general ACI1 unifier with respect to this ordering. The unification of a set of equations between set-based terms is defined exactly as in the concrete case, by solving the equations one by one and repeatedly applying their solutions to the remaining equations. We demonstrate that all of the operations in a sharing analysis have natural definitions which are both correct and optimal.

AB - This paper describes an algebraic approach to the sharing analysis of logic programs based on an abstract domain of set logic programs. Set logic programs are logic programs in which the terms are sets of variables and unification is based on an associative, commutative, and idempotent equality theory. All of the basic operations required for sharing analyses, as well as their formal justification, are based on simple algebraic properties of set substitutions and set-based atoms. An ordering on set-based syntactic objects, similar to `less general' on concrete syntactic objects, is shown to reflect the notion of `less sharing' information. The (abstract) unification of a pair of set-based terms corresponds to finding their most general ACI1 unifier with respect to this ordering. The unification of a set of equations between set-based terms is defined exactly as in the concrete case, by solving the equations one by one and repeatedly applying their solutions to the remaining equations. We demonstrate that all of the operations in a sharing analysis have natural definitions which are both correct and optimal.

UR - http://www.scopus.com/inward/record.url?scp=0034135741&partnerID=8YFLogxK

U2 - 10.1016/S0743-1066(99)00007-2

DO - 10.1016/S0743-1066(99)00007-2

M3 - Article

AN - SCOPUS:0034135741

SN - 0743-1066

VL - 42

SP - 111

EP - 149

JO - Journal of Logic Programming

JF - Journal of Logic Programming

IS - 2

ER -