Schema-Based Transformations of Logic Programs

Abstract

ion Selection Specialization P1/A1 Pn/An S1/G 1 Sn/G n S/G P/A 8 Abstraction For each program P i (i=1, ... , n) we identify a program schema S i which describes P i abstractly. This abstraction generates a set of substitutions q i for schema variables. The same abstraction leads from the literals A i to the abstract literals G i . In short, the abstraction step replaces each term P i /A i by its abstraction S i /G i , and we have P i /A i = S i q i /G i q i . Selection Transformation schemata transform the set of abstract terms {S 1 /G 1 , ... , S n /G n } into an abstract term S/G, i.e. a transformation schema is defined as {S 1 /G 1 , ... , S n /G n, S/G}. In general there are several transformation schemata which have {S 1 /G 1 , ... , S n /G n } as input. We select the transformation schema which generates a desired output program schema S together with an abstract literal G. Specialization We apply the substitution q = q 1 ... q n to S/G to get the transformed pr..

    Similar works

    Full text

    thumbnail-image

    Available Versions