| H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Proceedings of Second International Conference on Logic Programming, (Sweden), pages 127--138, 1984. 18 |
.... an embedding of the relational part, whereas de Moor s and Gibbons s calculus is closer to functional logic languages such as Curry [11] In fact, there are several crosslinks to logic programming, for instance, embeddings of Prolog into Haskell [12, 22] and fold unfold systems for logic programs [23], which we plan to explore in the future. Acknowledgements I am grateful to the ve anonymous referees, who went over and above the call of duty, providing numerous constructive comments for the revision of this paper. I am particularly indebted to Ernie Cohen for valuable suggestions regarding ....
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Second International Conference on Logic Programming, pages 127-138, 1984.
....properties w.r.t. the length of derivations and the number of computed solutions [6] and it can be efficiently implemented by pattern matching and unification. The fold unfold transformation approach was first introduced in [10] to optimize functional programs and then used for logic programs [22]. This approach is commonly based on the construction, by means of a strategy, of a sequence of equivalent programs each obtained from the preceding ones by using an elementary transformation rule. The essential rules are folding and unfolding, This work has been partially supported by CICYT ....
....integrated language is presented in [2] where we investigated fold unfold rules in the context of a strict (call by value) functional logic language. A transformation methodology for lazy (call by name) functional logic programs was introduced in [3] this work extends the transformation rules of [22] for logic programs in order to cope with lazy functional logic programs (based on needed narrowing) The use of narrowing empowers the fold unfold system by implicitly embedding the instantiation rule (the operation of the Burstall and Darlington framework [10] which introduces an instance of an ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In S. Tarnlund, editor, Proc. of Second Int'l Conf. on Logic Programming, Uppsala, Sweden, pages 127--139, 1984. 25
....: Fn F 1 , F 1 : Fn F (leaving the universal quanti cations implicit) Second, we remove the rules whose conclusion is already in the hypotheses. Let P rem = fNR ; NS ; goodkey A ; goodkey B ; pubkey; A i ; B i for all ig. In the third step, we use an unfolding [45] of the logic program to remove the predicates of P rem from the hypotheses. More precisely, the transformation is as follows. Let R be a rule with a fact F 0 in its hypotheses, such that the predicate of F 0 is in P rem . We replace R with the rules R R, for all R such that R is de ....
....from the hypotheses. More precisely, the transformation is as follows. Let R be a rule with a fact F 0 in its hypotheses, such that the predicate of F 0 is in P rem . We replace R with the rules R R, for all R such that R is de ned. This unfolding preserves derivability, as shown in [45]. We perform this transformation as long as the predicates of P rem appear somewhere in the hypotheses of the rules. We now show that this transformation terminates. Let us order the predicates of P rem by: NR goodkey A goodkey B pubkey A 0 B 0 : An Bn NS . We order multisets ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/Fold Transformation of Logic Programs. In S. Ake Tarnlund, editor, Proceedings of the Second International Logic Programming Conference (ICLP'84), pages 127-138, Uppsala, Sweden, July 1984.
....g to generate some output, at least one more reduction (of one of the body goals of C) is necessary because C has no unification body goals. Case splitting enumerates all the possibilities of the first such reduction. 4. Folding which is essentially the same as the Tamaki Sato folding rule [25]. The major di#erence from the Tamaki Sato rule set is that unfolding is split into two incomparable rules, Immediate Execution and Case Splitting , to deal with synchronization. Let be the treecode for append 3: append 3 treecode(6, c(1= b( 2) 3) c(1= 4) 1) ....
Tamaki, H. and Sato, T., Unfold/Fold Transformation of Logic Programs. In Proc. Second Int. Logic Programming Conf. (ICLP'84), Uppsala Univ., Sweden, 1984, pp. 127--138.
....Hypothesis (c) means that F 0 is an hypothesis of an S rule R . The S fact and S rule are combined, to give a new S rule (that can be an S fact) When all combinations have been performed, only S facts are kept in B . ffl This algorithm is similar to an unfolding of the logic program [37], but there is one important difference: In the unfolding, a rule R and an hypothesis F 0 of R chosen, and the resolution is performed with all rules R whose consequence is unifiable with F 0 . Here, the resolution is only applied with rules R whose hypotheses F satisfy F 2 r S. ffl The ....
H. Tamaki and T. Sato. Unfold/Fold Transformation of Logic Programs. In S. Ake Tarnlund, editor, Proceedings of the Second International Logic Programming Conference (ICLP'84), pages 127--138, Uppsala, Sweden, July 1984. A. Proof of correctness of our algorithm Lemma 4 At the end of the first phase, B satisfies the following
..... we only consider 2 level systems; we model folding explicitly (instead of viewing foldings as abbreviations) we do not formulate speedup theorems. Giving conditions for total correctness of unfold fold transformations is a rather hot topic in the logic programming community, see e.g. TS84] KK90] Sek91] GS91] PP91a] BCE92] This is unlike the situation in the functional community where Kott s work (cf. section 4.9) seems rather isolated. It is tempting to explain this di#erence by observing . operational semantics traditionally enjoy a more respectable status in the ....
....sort( sort( A X] B Y] del(B, A X] Z) permord(B,Z,Y) permord(A, # permord(A, B X] C Y] del(C, B X] Z) A C,permord(C,Z,Y) Even though e#ciency has been improved, complexity is still exponential. In order to get a polynomial algorithm one has to do as in [TS84, p. 135] 1. re)define perm as follows: perm( A X] Y) #perm(X,Z) ins(A,Z,Y) ins(A,X, A X] ins(A, B X] B Y] #ins(A,X,Y) 2. exploit the law (cf. section 4.8.3) that ins(A,Z,Y) ord(Y) is equivalent to ord(Z) ins(A,Z,Y) ord(Y) Then we can unfold sort( A X] Y) via ....
[Article contains additional citation context not shown here]
Hisao Tamaki and Taisuke Sato. Unfold/fold transformation of logic programs. In Proceedings of 2nd International Logic Programming Conference, Uppsala, pages 127--138, 1984.
....such that there exists a clause A A 1 ; A n ; B 1 ; Bm 2 ground(P ) and clauses c i 2 Q of the form A i body(c i ) for all i = 1; n. This replacement of positive atoms by bodies of clauses in the quasi interpretation is ususally called unfolding in the literature, see [TS84]. T P is both monotonic and continuous. The least xed point of the operator T P , obtained as T P , is a set of quasi interpretations, denoted by x(P ) which is called the xpoint completion of the program P . 4 3 Relationships between Two valued Semantic In the following ....
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Second International Conference on Logic Programming, pp. 127-138, 1984. 14
....following two applications: i) the specialization of a program to the context of use and (ii) the verification of temporal properties of infinite state concurrent systems. 1. 1 Program Transformation We consider the program transformation methodology based on rules and strategies as described in [13, 60, 80]. The process of deriving programs by transformation can be formalized as the construction of a sequence P0, Pn of programs where, for k = 0, n 1, program Pk l is obtained from program Pk by applying a semantics preserving transformation rule. Thus, if the initial program P0 is correct ....
....consists in the fact that it allows us to separate the issue of deriving a correct program from that of deriving an efficient program. The program transformation methodology has been developed in a number of different language paradigms, such as, functional programming [13] logic programming [80] and constraint logic programming [9, 25, 51] C A I J 1. We will be concerned with the development of automatic techniques for the transformation of programs written in a constraint logic language. Constraint Logic Programming [38] extends the usual logic programming framework [49] by ....
[Article contains additional citation context not shown here]
TAMAKI, H., AND SATO, T. Unfold/fold transformation of logic pro- grams. In Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden (1984), S.-. T/irnlund, Ed., Uppsala University, pp. 127-138.
....and continuing in this way we end up with a simple chain Datalog program P s . It is easy to see that M (P; p) M (P s ; p) as the new clauses we introduce can be considered as Eureka definitions while the replacement of q 2 (Y 1 ; Y 2 ) q k 1 (Y k ; Z) by r(Y 1 ; Z) is a folding step [TS84, Ger94, GK94]. Now the derired result is an immediate consequence of the correctness of the fold unfold transformation system. Let P be a program and P the translated intensional one. We show the following lemma: and p(a; b) 2 TP then R p 1 (b) 2 TP . Proof: We show the above by induction ....
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Sten- Ake Tarnlund, editor, Proc. of the Second International Conference on Logic Programming, pages 127--138, 1984.
....one element. An inference with ruledi# 2 is thus able to read several elements (with the goal append(Hs, Cs1, Cs0) This extension allows transformations that cannot be expressed with traditional transformation systems which operate on the level of goals (fold unfold according to Sato and Tamaki [10]) The relation between Continuation Prolog and Binary Prolog is straight forward. Each element C of a continuation Cs in Continuation Prolog corresponds to a term BinCont in Binary Prolog. The mapping via contclause to binaryclause 2 sheds some light on the di#culties when using Binary Prolog ....
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Second International Logic Programming Conference, pages 127--138, Uppsala, 1984.
....allowed the development of recurslye programs. Since then a large body of literature has been produced on the subject. The transformation system was then adapted to logic programs both for program synthesis [30, 50] and for program specialization and optimization [60] Soon later, Tamaki and Sato [96] proposed an elegant framework for the transformation of logic programs based on unfold fold rules. Tamaki Sato s system also included a replacement operation, which is a topic we ll address in the sequel. The operation of unfolding, consists in applying in all possible ways a resolution step to ....
....indiscriminately, this operation may well introduce infinite loops in the program, and therefore its applicability has to be restricted by suitable applicability conditions. Tamaki and Sate provided conditions which ensure the preservation of the least Herbrand model semantics (as proven in [96] itself) and of the computed answer substitution semantics (as proven by Kawanmra and Kanamori in [58] However, Seki showed that the system does not preserve the finite failure set of the initial prograrn, this problern is particularly relevant when we transforrn orrnal logic programs, that is, ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten-ke Tiirnlund, editor, Proc. Sccod It'l of. o Logic Programmig, pages 127 139, 1984.
....the rules which are used for transforming programs, are guaranteed to preserve the semantics of interest. The transformation methodology was rst introduced in the case of functional languages, and it was later applied also to other language paradigms. Indeed, in the mid 1980s Tamaki and Sato [TaS84] applied the rules strategies approach to the transformation of logic programs, and more recently that approach has been applied by Seki to logic programs with negation in the bodies of the clauses [Sek91] Di erent sets of transformation rules have been proposed in the literature for the ....
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127-138. Uppsala University, 1984.
....We can separate success from finite failure by requesting only completeness with respect to the former. In this case, it may be the case that some proof trees required only to preserve infinite trees can be omitted. 5 Unfolding and Folding Let us now turn to analyzing unfolding and folding ([11, 15, 16, 17], to name just a few) 5.1 Unfolding Unfolding needs the admissible rule ci, for which we have already given the translation function . Admissibility of ci and strict monotonicity of have been shown, too. Since we are interested in all the possible goals, we look for G completeness, where G ....
.... odd) preserves success and finite failure: Q = 8 : c0 e(0) ca e(0) ci e(X) 0 c2 o(sX) c1 ca e(ssX) ca e(ssX) e(X) ci 0 c0 e(0) ca c2 o(s0) ca o(s0) ci o(X) 0 c1 e(sX) c2 ca o(ssX) ca o(ssX) o(X) ci 0 9 = Usually [17, 11], an unfolding transformation is seen as a sequence of programs, obtained thorough a sequence of single unfolding steps, where each step preserves completeness. Thus one obtains a final program that preserves success and finite failure. In our case we can define completeness directly on the final ....
[Article contains additional citation context not shown here]
Tamaki, H , Sato, T.: Unfold/Fold Transformation of Logic Programs. In: S-A Tarlund (Ed.): Proceedings of ICLP84. Uppsala. (1984) 127--138 This article was processed using the L A T E X macro package with LLNCS style
....the rules which are used for transforming programs, are guaranteed to preserve the semantics of interest. The transformation methodology was rst introduced in the case of functional languages, and it was later applied also to other language paradigms. Indeed, in the mid eighties Tamaki and Sato [TaS84] applied the rules strategies approach to the transformation of logic programs, and more recently that approach has been applied by Seki to logic programs with negation in the bodies of the clauses [Sek91] Di erent sets of transformation rules have been proposed in the literature for the ....
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127-138. Uppsala University, 1984.
....p p; r The nal program P 1 consists of clauses 2, 3, and 5. We have that M(P 0 ) j= p, while M(P 1 ) j= p. 2 Our presentation of the transformation rules essentially follows the style of Tamaki and Sato who rst introduced the unfold fold transformation rules in the case of de nite programs [74] and proved their correctness w.r.t. the least Herbrand model semantics. Among the rules presented in this section, the following ones were introduced by Tamaki and Sato in [74] actually, their presentation was a bit di erent) R1 restricted to m = 1, R3, R5 restricted to m = 1, R7 restricted to ....
....the style of Tamaki and Sato who rst introduced the unfold fold transformation rules in the case of de nite programs [74] and proved their correctness w.r.t. the least Herbrand model semantics. Among the rules presented in this section, the following ones were introduced by Tamaki and Sato in [74] (actually, their presentation was a bit di erent) R1 restricted to m = 1, R3, R5 restricted to m = 1, R7 restricted to de nite clauses, R8, R9 restricted to r =s=1, and R10. Thus, some of our rules may be considered an extension of those in [74] Program Derivation = Rules Strategies 11 One ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- . Trnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127138. Uppsala University, 1984.
.... particularly well with the logic programming paradigm, as stated by the famous motto: Algorithm = Logic Control [Kow79] This encourages the application of transformation systems to logic programs both for synthesizing a correct program from a logic specification [Dev90] and for optimizing it [TS84] The main requirements for a practical transformation systems are on one hand to guarantee the preservation of interesting program properties and on the other hand to be supported by an automatic or semi automatic tool. The most important program properties are characterized by the Logic ....
....2.6 (Well Terminating Program) A program is called well terminating iff all its LDNF derivations starting in any well moded query are finite. Notice that a well terminating program is also left terminating. 5 3 A Simple Transformation System: Unfold and Fold In their seminal papers [TS84, ST84] Sato and Tamaki adapted to definite logic programs the ideas on program transformations firstly introduced by Burstall and Darlington for functional programs [BD77] They defined the basic unfold fold transformation system, based on the operations of new definition, unfold and fold. Then ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten- Ake Tarnlund, editor, Proc. Second Int'l Conf. on Logic Programming, pages 127--139, 1984.
....to this class; for example, the chain Datalog programs are members of this class. Definition 2. A simple cc Datalog program is a cc Datalog program in which every clause has at most two atoms in its body. The following proposition (whose proof is straightforward using unfold fold transformations [TS84,GK94]) establishes the equivalence between cc Datalog programs and simple cc Datalog ones. Notice that by M (p; PD ) we denote the set of atoms in the minimal model of PD whose predicate symbol is p. Proposition 1. Every cc Datalog program P can be transformed into a simple cc Datalog program P 0 ....
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Sten- Ake Tarnlund, editor, Proc. of the Second International Conference on Logic Programming, pages 127--138, 1984. 8
No context found.
Hisao Tamaki and Taisuke Sato. Unfold/fold transformation of logic programs. In Proceedings of 2nd International Logic Programming Conference, Uppsala, pages 127--138, 1984.
No context found.
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Proc. of Second Int'l Conf. on Logic Programming, pages 127--139, 1984.
No context found.
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In S. Tarnlund, editor, Proc. of Second Int'l Conf. on Logic Programming, Uppsala, Sweden, pages 127--139, 1984.
No context found.
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- . Trnlund, editor, Proceedings of the Second International Conference on Logic Programming, pages 127138, Uppsala, Sweden, 1984. Uppsala University. 49
No context found.
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Sten- Ake Tarnlund, editor, Proc. of the Second International Conference on Logic Programming, pages 127--138, 1984.
....constraint, and so on, for i = 2; 3; This leads to a contradiction, from which the thesis follows. 3 The unfolding rule for the CLP framework, is an extension of a rule originally developed for positive logic programs [8] Similar results can be obtained by considering other unfolding rules [9] in the framework of CLP. 5 Concluding remarks We have shown that the operational semantics of CLP leads a suitable transformation rule which allows to define a semantics equivalent to the model theoretic one. The transformation is strongly related to the immediate consequence operator. In ....
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten- Ake Tarnlund, editor, Proc. Second Int'l Conf. on Logic Programming, pages 127--139, 1984.
....Symposium on Principles of Programming Languages, Paris, France, January 15 17, 1997, ACM Press, 1997, pp. 414 427. 1 programs [4, 35, 36, 40] In particular, we consider de nite logic programs [27] and we propose new program specialization techniques based on unfold fold transformation rules [6, 45]. In our approach, the process of program specialization can be viewed as the construction of a sequence, say P 0 ; P n , of programs, where P 0 is the program to be specialized, P n is the derived, specialized program, and every program of the sequence is obtained from the previous one by ....
....derived, specialized program, and every program of the sequence is obtained from the previous one by applying a transformation rule. As shown in [35, 40] partial deduction can be viewed as a particular rule based program transformation technique using the de nition, unfolding, and folding rules [45] with the following two restrictions: i) each new predicate introduced by the de nition rule is de ned by precisely one nonrecursive clause whose body consists of precisely one atom (in this sense, according to the terminology of [16] partial deduction is said to be monogenetic) and (ii) the ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127-138. Uppsala University, 1984.
....In this paper we consider a program specialization method for constraint logic programming (CLP) and we use the rules strategies transformation approach. This approach was rst suggested by Burstall Darlington for functional languages [3] and later applied to logic languages by Tamaki Sato [25]. Our method increases program eciency by deriving deterministic, specialized programs starting from nondeterministic, general programs. Our specialization method makes use of a set of rules for transforming constraint logic programs which are an extension of the ones presented in [6, 8, 23] ....
....during the construction of P 0 ; Pn ; 2) the head predicate of 1 ; m does not depend on itself in Pn . Then lm(P 0 [ Defs n ; D) lm(Pn ; D) The rules listed above are an extension of the rules for transforming logic programs and constraint logic programs presented in [2, 6, 8, 14, 23, 25]. In particular, the folding rules considered in [2, 6, 8, 25] allow us to fold only one clause at a time, while by using our rule R3 we can fold m ( 1) clauses simultaneously. Our rule R3 is an adaptation to the case of CLP programs of the folding rules considered in [14, 23] Our clause ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. ICLP '84, 127-138. Uppsala, Sweden, 1984.
....programs from speci cations. The rules strategies approach was advocated in the 1970 s by Burstall and Darlington [5] for developing rst order functional programs. Since then Burstall and Darlington s approach has been followed in a variety of language paradigms, including logical languages [16] and higher order functional languages [14] The distinctive feature of the rules strategies approach is that it allows us to separate the concern of proving the correctness of programs w.r.t. speci cations from the concern of achieving computational e ciency. Indeed, the correctness of the ....
....called goal reorderings in [4] which are often required for folding, without a ecting program termination and without increasing nondeterminism. Goal rearrangement is a long standing issue in logic program transformation. Indeed, although the unfold fold transformation rules by Tamaki and Sato [16] preserve the least Herbrand model, they may require goal rearrangements and thus, they may not preserve the operational semantics based on LD resolution. Moreover, goal rearrangements may increase nondeterminism by requiring that predicate calls have to be evaluated before their arguments are ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.-. Trnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127138. Uppsala University, 1984.
....In this paper we consider a program specialization method for constraint logic programming (CLP) and we use the rules strategies transformation approach. This approach was rst suggested by BurstallDarlington for functional languages [3] and later applied to logic languages by Tamaki Sato [21]. We will present a program transformation technique which allows us to increase program eciency by deriving deterministic, specialized programs starting from nondeterministic, general programs. The paper is structured as follows. We rst present the rules for transforming constraint logic ....
....of P0 ; Pn ; or (2) the head predicate of 1 ; m does not depend on itself in Pn . Then lm(P0 [ Defsn ; D) lm(Pn ; D) The rules listed above are an extension of the rules for transforming logic programs and constraint logic programs presented in [2] 6] 7] 12] 19] [21]. In particular, the folding rules considered in [2] 6] 7] 21] allow us to fold only one clause at a time, while by using our rule R3 we can fold m ( 1) clauses simultaneously. Our rule R3 is an adaptation to the case of CLP programs of the folding rules considered in [12] 19] Our clause ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. ICLP '84, 127-138. Uppsala, Sweden, 1984.
....original one under a semantics of choice. Various systems for program transformation have been developed, usually based on the use of the fold unfold framework. This framework dates back to at least [2] has been introduced to the logic programming community in a seminal paper of Tamaki and Sato [26], has since been the subject of considerable research (see e.g. the references in [18] and has been successfully used in many partial evaluators for Prolog style execution [20, 19, 25, 8] Unfortunately, no methodology for the transformation or specialisation of tabled logic programs exists. All ....
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, pages 127--138, Uppsala, Sweden, 1984. 14
....functions or predicates, and programs can be arbitrary. Since it is based on the least model semantics, both sides of the iff defini tion of a predicate 7 p(x) 3y(x = t A W) V . V 3yn(x = tn A unconditionally coincide as a random variable for any ground instantiation Unfold fold transformation [25] preserves the denoration of parameterized logic programs. Owing to Pz , we may regard every ground atom (and closed formula) as a random variable on 2DB. We apply our semantics in two directions, one for symbolic statistical modeling described in Section 3, and the other for reinforcement ....
....represent such observations by atoms chosen from obs(DB) btype ( A ) btype ( B ) btype ( 0 ) btype ( AB ) Our concern then is to estimate hidden parameters , b, o from the observed atoms. First we reduce an observed atom to a disjunction of conjunction of msw atoms by unfolding [25]. Take btype( A ) for instance. btype( A ) is unfolded by comp(R 0 [8, 4] into S V 5 2 V 3 such that where comp(Rz) I btype( A ) Sz V S2 V 3 S = msw(gene,fa,a) A msw(gene,mo,a) S2 = msw(gene,fa,a) A msw(gene,mo,o) S3: msw(gene,fa,o) A msw(gene,mo,a) Each Si is called an explanation for ....
Tamaki, H. and Sato, T., Unfold/Fold Transformation of Logic Programs, Proc. of ICLP'$d, Uppsala, pp.127 138, 1984.
....obtained from program P k by applying one of the transformation rules listed below. These rules are variants, tailored to the veri cation technique presented in this paper, of the rules considered in the literature for transforming logic programs and constraint logic programs (see, in particular, [5, 14, 17, 28, 37, 41]) R1. Constrained Atomic De nition. We introduce the clause, called a de nition, newp(X 1 ; Xm ) c; A where: i) newp is a predicate symbol not occurring in P 0 ; P k , ii) vars(A) fX 1 ; Xm g, iii) FV (c) fX 1 ; Xm g, and (iv) the predicate of A ....
....other sets of transformation rules which have been presented in the literature. The rules listed above are an extension to locally strati ed CLP programs of the rules presented in [17] for the case of de nite CLP programs. The rules of [5, 14] are extensions of Tamaki Sato s unfold fold rules [41] to the case of de nite CLP programs. If we consider de nite CLP programs only, the de nition and folding rules of [5, 14] are more general than ours, because they allow the body of a de nition to be a nonatomic constrained goal. However, in Section 7 we show that by applying our method, which ....
H. Tamaki and T. Sato, \Unfold/fold transformation of logic programs," in Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden (S.- A. Tarnlund, ed.), pp. 127-138, Uppsala University, 1984.
....Theory of k Successors, denoted WSkS [28] These programs will be called CLP(WSkS) programs. By using these encodings, the actual cardinality of the set of processes present in the systems is not required in the proofs of the properties of interest. Our method uses unfold fold transformations [5, 20, 26] as inference rules for constructing proofs. There are other veri cation methods proposed in the literature which use program transformation or are based on CLP [7, 12, 13, 17, 19, 22, 23] but those methods deal either with: i) nite state systems [19, 22] or (ii) in nite state systems where ....
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127-138. Uppsala University, 1984.
....Objects of a problem are represented by declarative programs on a specialization system. Next, we construct the RBET to actually solve a formalized problem. We first decide a set of ET rules. The selection of a rule set has a great influence on the efficiency of computation. Unfolding rule [8] is an ET rule, and there exist many ET rules that are not unfolding rule. When the unfolding rule by which the number of clauses is increased are used, the efficiency of computation is often decreased. Therefore, introduction of efficient ET rules by which the number of clauses is not increased ....
....whereas in our study a declarative program is used. Therefore, in one example of the present paper, feature structure objects can be treated. These previous studies use a small number of transformation schemata, which are independent of the selected atom, such as unfold fold transformation [8]. Whereas the present study uses a number of specific ET rules for each atom. Therefore, efficient ET rules that use the characteristic of atoms can be utilized, and the control that minimizes the number of clauses becomes possible. 8 Conclusions We proposes a method for emerging efficient ....
Tamaki, H. and Sato, T.: Unfold/fold Transformation of Logic Programs. Proc. of 2nd ILPC (1984) 127--138
....We can separate success from finite failure by requesting only completeness with respect to the former. In this case, it may be the case that some proof trees required only to preserve infinite trees can be omitted. 5 Unfolding and Folding Let us now turn to analyzing unfolding and folding ([11, 15, 16, 17], to name just a few) 5.1 Unfolding Unfolding needs the admissible rule ci, for which we have already given the translation function . Admissibility of ci and strict monotonicity of have been shown, too. Since we are interested in all the possible goals, we look for G completeness, where G ....
.... A fold(F) H Gamma; B 1 )oe 1 Delta Delta Delta (H Gamma; Bn )oe n H Gamma; A fold (F) In fold , vars(voe h ) vars( Gamma; H;A) must be satisfied for 1 h n and every v 2 vars(B h )nvars(A) The rule fold allows to treat, for example, Tamaki Sato s [17] and Shepherdson s [16] folding. The rule fold does not have restrictions on oe. It allows to treat general folding [11] R2, p. 268) Indeed, fold is more general than fold . We distinguish the two rules because they have different logical explanations, as briefly remarked in the conclusions. We can formalize ....
Sheperdson, J.C.: Unfold/Fold Transformations of Logic Programs. Math. Structure Comp. Science 2 (1992) 143--157
....be mainly concerned with the transformation of constraint logic programs based on transformation rules and strategies. In particular, I will consider the transformation methodology based on unfold fold rules, taking advantage of the results obtained in functional programming [3] logic programming [15] and constraint logic programming [1, 4, 12] The process of deriving programs by transformation can be formalized as a sequence P 0 ; Pn of programs where, for k = 0; n 1, program P k 1 is obtained from program P k by applying a semantics preserving transformation rule. Thus, if ....
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.-. Trnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127138. Uppsala University, 1984.
....L i 1 ; E 1 ; Em ; L i 1 ; L n ; n 0; m 0 2 The following property clearly holds. Proposition 6.1 Let Pr be a program and M B Pr . M is a model of Pr i M is a model of P r . 2 If the Herbrand base of P r is nite, P r can be calculated by a simple unfolding procedure Ufp [22] that generates new clauses from the given ones by replacing (unfolding) any atom occurring positively with its de nition (if any) in every possible way. This replacement is never performed on an atom on which it has been performed in a previous step (loop check) Ufp terminates when there are no ....
H. Tamaki and T. Sato. Unfold/Fold Transformation of Logic Programs. K. Clark and S.- A. Tarnlund (eds.), Proceedings of the Second International Conference of Logic Programming, 1984.
....to Gegg Harrison s schema language proposed in this paper and explained below. 3 Schema Based Transformations of Logic Programs Proposals for logic program transformation, such as [Lakhotia Sterling 90] Nielson Nielson 90] and [Proietti Pettorossi 90] based on unfold fold rules [Tamaki Sato 84] all require human intervention at some point during the transformation process. The extent to which the human participation affects the efficiency of the program transformation varies according to each proposal, but they all share the common feature of performing only localised changes without ....
H. Tamaki, T. Sato, Unfold/Fold Transformation of Logic Programs, University of Uppsala, 1984.
....of the 24th Annual ACM Symposium on Principles of Programming Languages, Paris, France, January 15 17, 1997, ACM Press, 1997, pp. 414 427. 1 In particular, we consider de nite logic programs [22] and we propose new program specialization techniques based on unfold fold transformation rules [3, 37]. In our approach, the process of program specialization can be viewed as the construction of a sequence, say P 0 ; P n , of programs, where P 0 is the program to be specialized, P n is the specialized program, and every program of the sequence is obtained from the previous one by applying ....
....and every program of the sequence is obtained from the previous one by applying a transformation rule. As shown in [29, 34] partial evaluation of logic programs can be viewed as a particular rule based program transformation technique using the familiar de nition, unfolding, and folding rules [37] with the following two restrictions: i) each new predicate introduced by the de nition rule is de ned by precisely one non recursive clause whose body consists of precisely one atom (in this sense, according to the terminology of [13] partial evaluation of logic programs is said to be ....
[Article contains additional citation context not shown here]
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pages 127-138. Uppsala University, 1984.
....existing successive conversion rules to achieve a new conversion from one state to another [1 4, 6] In the space after expansion, various data structures, including strings and multisets as well as terms, can be treated. Synthesis of conversion rules is performed by equivalent transformation [7]. A program is converted into another equivalent program by an equivalent transformation. The expansion of logic programs is performed by applying an equivalent transformation rule and enables a useful synthesis rule for problem solving to be obtained efficiently and automatically and at a low ....
Tamaki, H. and Sato, T.: Unfold/fold Transformation of Logic Programs. Proc. of 2nd ILPC (1984) 127--138
....: q(X) of P 0 in this case) is called the folder. This is an example of an irreversible folding step since the clause p(X) q(X) does not appear in P 1 . 1.1. Related Work An unfold fold transformation system for de nite logic programs was rst described in a seminal paper by Tamaki and Sato [24]. It allows folding using a single clause only (conjunctive folding) from the initial program. This folder clause is required to be non recursive, but need not be present in the current program P i . Maher [14] proposed a transformation system using only reversible folding in which the folder ....
....strati ed programs preserving perfect model semantics, and [1, 23] which present transformations for general logic programs preserving well founded model and other semantics. However, these works are either extensions of Maher s reversible transformation system or the original Tamaki Sato system [24]. In particular, 15] extends Maher s reversible transformation system to strati ed logic programs, and [1, 17, 22, 23] present extensions of the Tamaki Sato style irreversible transformation system to normal logic programs. All these transformation systems have a more restrictive folding rule ....
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Proceedings of International Conference on Logic Programming, pages 127-138, 1984.
....of a predicate such as: g(hX 3 ; F 3 i; hX 3 ; p(E 1 ; F 3 )i) converting the underlined terms into variables as follows: expr 0 (hX 0 i; U 0 3 ) expr 0 (hX 0 i; hX 1 ; E 1 i) plus(hX 1 i; hX 2 i) expr 0 (hX 2 i; U 3 ) g(U 3 ; U 0 3 ) 4. 6) As observed by Tamaki and Sato [32], in general it is incorrect to fold a definition such as that of g in a clause having a variable such as E 1 , which also occurs in the output of the first subgoal. To see this, unfold the definition of g in (4.6) and observe that a generalization of (4.5) is obtained. For us, the occurrences ....
Hisao Tamaki and Taisuke Sato. Unfold/fold transformation of logic programs. In Proceedings of the Second International Logic Programming Conference, pages 33 127--138, 1984.
No context found.
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Proceedings of Second International Conference on Logic Programming, (Sweden), pages 127--138, 1984. 18
No context found.
Hisao Tamaki and Taisuke Sato. Unfold/fold transformations of logic programs. In Proceedings of the Second International Conference on Logic Programming, pages 127--138, Uppsala, Sweden, July 1984.
No context found.
Tamaki, H. and T. Sato: 1984b, `Unfold#Fold Transformation of Logic Programs'. In: S.-A. Tarnlund #ed.#: Proceedings of the Second International Logic Programming Conference. pp. 127#138.
No context found.
Hisao Tamaki and Taisuke Sato. Unfold /fold transformations of logic programs. In Proceedings of the Second International Conference on Logic Programming, pages 127--138, Uppsala, Sweden, July 1984.
No context found.
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Proc. of 2nd Int'l Conf. on Logic Programming, pages 127--139, 1984. This article was processed using the L A T E X macro package with LLNCS style
No context found.
Hisao Tamaki and Taisuke Sato. Unfold/fold transformation of logic programs. In Proceedings of the 2nd International Conference on Logic Programming, Uppsala, pages 127--137, 1984.
No context found.
H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In S.- A. Tarnlund, editor, Proceedings of the Second International Conference on Logic Programming, pages 127-138, Uppsala, Sweden, 1984.
No context found.
Tamaki, H. and Sato, T. Unfold/Fold Transformation of Logic Programs. Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, 1984, pp. 127-138.
No context found.
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In S. Tarnlund, editor, Proc. of Second Int'l Conf. on Logic Programming, Uppsala, Sweden, pages 127--139, 1984.
No context found.
Tamaki H., Sato. T. Unfold/fold transformation of logic programs. In Sten- Ake Tarnlund, editor, Second International Logic Programming Conference, pages 127-- 138, Uppsala, 1984.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC