| Tamaki, H. and T. Sato: 1984a, `Enumeration of Success-patterns in Logic Programs '. Theoretical Computer Science 34, 227#240. |
....Y, r(X,Y) Here determinacy has not been made explicit by the programmer, but must be inferred from the tests X Y and X = Y . But because these methods do not make such inferences from deeper levels of the program, they are unable to extract hidden, or latent, determinacy. Sato 1 and Tamaki [14] present a technique that extracts determinacy information from deeper levels, but they deal only with programs where determinacy arises from a restricted form of structural equality (term depth abstraction) It is not clear how their method can be extended to handle programs where determinacy ....
....the constraint X = Y converted to canonical form becomes (X = Z) Y = Z) where Z is existentially quantified. Clearly, X = t is equivalent to its canonical form. In order to ensure termination, we limit the depth of terms via approx k (rule 10) which corresponds to the depth k abstraction of [14]. In the next section we show how other base predicates can be accommodated in the analysis. The operator S (rule 1) performs the disjunction of two constraints in canonical form, returning a constraint in canonical form. S is defined in terms of absorb (rule 4) which is responsible for enforcing ....
[Article contains additional citation context not shown here]
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984. 20
....[b 0 ; b 0 ; b 0 z n ; a 0 ] Z) The original DCG under Prolog takes an exponential time in n to succeed, whereas our method takes a linear time. 7. COMPARISONS WITH OTHER METHODS There are several inference methods for logic programs, that use variants of LR parsing [13, 21, 28, 30, 34, 35]. In this section, we review some of these methods and compare them with SLR inference. 23 7.1. A comparison with Nilsson s AID Nilsson s alternative implementation of DCGs (AID) 21] is perhaps closest to the present work. Essentially, Nilsson first generates LR parsing tables ignoring the ....
....given string. SLR inference, by comparison, can be used not only for parsing an input string but also for computing possibly several answers. 7.3. A comparison with Sato and Tamaki s success patterns Both AID and AILR can be viewed as adapting the complete LR parser. Sato and Tamaki present in [28] an inference method which adapts only the preprocessing stage of such a parser. We will illustrate Sato and Tamaki s success patterns [28] through an example, but refer the reader to [28] for a thorough discussion of this method. Ordinary LR parsing can be regarded as having two stages: a ....
[Article contains additional citation context not shown here]
Taisuke Sato and Hisao Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....a framework where structural information is just discarded. With this choice, S would be mapped onto (Z 1 ; Z 2 ) S . In between these two extremes there are a number of possibilities that help managing the complexity precision tradeo . The k tuples returned by can be limited in depth [13, 11], for instance. More useful is to limit them in width, that is, limiting the number of symbols occurrences. This exibility allows to design the analysis domains without caring about structural information: the problem is always to approximate elements of T a z D [ X . Whether a is ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227-240, 1984.
....in [6] 7 We emphasize that this claim holds for the analysis (domain and operators) defined in [6] As we will see in a moment, it is known that this analysis, though very accurate, is not optimal. King and Soper propose, in [46] the integration of sharing and freeness with a depth k component [48,54]. King [45] shows also how a more refined tracking of linearity (essentially, pushing linearity at the levels of sharing groups) allows for further precision improvements. A remarkable piece of work, in terms of elegance and cleanliness, is constituted by [31] Here File is the first to define ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....a framework where structural information is just discarded. With this choice, S would be mapped onto (Z 1 , Z 2 ) S . In between these two extremes there are a number of possibilities that help managing the complexity precision tradeo#. The k tuples returned by # can be limited in depth [13, 11], for instance. More useful is to limit them in width, that is, limiting the number of symbols occurrences. This flexibility allows to design the analysis domains without caring about structural information: the problem is always to approximate elements of # T a z D # X . Whether a is ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....where structural information is simply discarded. With this choice, E # would be mapped onto # (Z 1 , Z 2 ) E # # . In between these two extremes there are a number of possibilities that help to manage the complexity precision tradeo#. The tuples returned by # can be limited in depth [20, 22], for instance. Another possibility is to limit them in size, that is, limiting the number of occurrences of symbols or the number of variables. This flexibility enables the analysis domains to be designed without considering the structural information: the problem for the domain designers is ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....structural information is just discarded. With this choice, S would be mapped onto Gamma (Z 1 ; Z 2 ) S Delta . In between these two extremes there are a number of possibilities that help managing the complexity precision tradeoff. The k tuples returned by OE can be limited in depth [13, 11], for instance. More useful is to limit them in width, that is, limiting the number of symbols occurrences. This flexibility allows to design the analysis domains without caring about structural information: the problem is always to approximate elements of Gamma T a z Theta D [ X ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....framework where structural information is simply discarded. With this choice, E [ would be mapped onto (Z 1 ; Z 2 ) E [ In between these two extremes there are a number of possibilities that help to manage the complexity precision tradeo . The tuples returned by can be limited in depth [20, 22], for instance. Another possibility is to limit them in size, that is, limiting the number of occurrences of symbols or the number of variables. This exibility enables the analysis domains to be designed without considering the structural information: the problem for the domain designers is ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227-240, 1984.
....in [6] 7 We emphasize that this claim holds for the analysis (domain and operators) de ned in [6] As we will see in a moment, it is known that this analysis, though very accurate, is not optimal. King and Soper propose, in [46] the integration of sharing and freeness with a depth k component [48,54]. King [45] shows also how a more re ned tracking of linearity (essentially, pushing linearity at the levels of sharing groups) allows for further precision improvements. A remarkable piece of work, in terms of elegance and cleanliness, is constituted by [31] Here Fil e is the rst to de ne ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227-240, 1984.
....by the wide range of applications they have in semantics based program 1 In [17] a more restrictive notion of future redundancy is defined. manipulation. Moreover, while analysis techniques devoted to the discovery of implicit constraints over some Herbrand universe are well known (e.g. depth k [22]) in the field of numeric domains very little has been done. An exception is represented by the work described in [19] However, the analyses they propose are limited to linear constraints and use simple description domains which, though allowing for e#cient implementations, cannot obtain precise ....
....been derived even if N 1 did not appear in C 3 . 5 This is not the case for, let s say, groundness or definiteness analysis, where constraints are of the form X = gnd and X = any. It is our case where, clearly, X 0, X # 1 # false (see Section 3) and the case of depth k abstraction [22]. 6 We do not want to make a strong claim here, but we have not found any previously published proposal for this optimization. call of clause C 3 , clause C 1 can be forgotten. This information allows for search space reduction without any overhead, in the case where the third clause of fib is ....
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227--240, 1984.
....or by means of a LUB operation in the abstract domain. The former is more precise but less efficient, the latter less precise but more efficient. We give two examples of how abstract interpretations of logic programs may be formulated within our framework. Example 6. 1 (Success Pattern Analysis [24, 25, 34]) This analysis uses depth k abstractions to obtain finite descriptions of infinite sets of terms. Let Ddenote the set of terms of the language under consideration, augmented with a distinguished 17 element denoting failure. A term t is said to be a canonical depth k abstraction if the depth ....
T. Sato and H. Tamaki, "Enumeration of Success Patterns in Logic Programs", Theoretical Computer Science vol. 34, 1984, pp. 227-240. 24
....Many approaches to exploiting determinacy rely on the presence of cuts [Mel85, ST85] Others [HM89, VDW87, ZTU90] use a limited notion of test predicates, and furthermore do not propagate determinacy information. Hence, they are unable to extract hidden or latent determinacy. Sato and Tamaki[ST84] addressed a notion of determinacy similar to ours and described a technique for detecting it. Their method propagates determinacy information implicitly and deals only with programs where determinacy arises from a restricted form of structural equality. They did not address classes of programs ....
....) oe succeeds, the formula [OE(X) oe = True. We now derive equations to compute p # for each predicate p. The only predefined predicate is = the equality predicate. We define (X = t) # as the constraint (X = approx k (t) where approx k (which corresponds to the depth k approximation of [ST84]) is defined as: approx 0 (t) approx i (X) X approx i (a(t 1 ; t n ) a(approx i Gamma1 (t 1 ) approx i Gamma1 (t n ) Clearly, X = t) # is a necessary condition for success of (X = t) A user defined predicate p is assumed to be defined clauses of the following form: ....
[Article contains additional citation context not shown here]
Taisuke Sato and Hisao Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....obtained, based on the semantics of atomic constraints. We now sketch the definition of the projection function P on conjuncts. We ensure that P has a finite range by restricting the depth of the projected constraints to some constant k, similar to the depth k abstraction of Sato and Tamaki [ST84]. The depth k approximations of a set of constraints (i.e. conjunction) is computed by replacing the constraints on variables that occur below depth k by their zerodepth approximations. The zero depth approximation of a constraint C(X; t) is 3 An instance of c(d 1 ; dn ) is a term c(s 1 ....
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....1 = 8X c 1 We denote by B the set of constrained atoms with constraints in NC, and by (I; the complete lattice of (not necessarily consistent) partial constrained interpretations formed over B. 4 Depth(k) analysis for constructive negation The idea of depth(k) analysis was rst introduced in [20]. The domain of depth(k) analysis was then used in order to approximate the ground success and failure sets for normal programs in [19] We follow the formalization of [5] for positive logic programs. We want to approximate an in nite set of computed answer constraints by means of a constraint ....
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227-240, 1984.
....since the LD tree of hp; gi is finite. 6 Generation of the semi occurrence set As a conclusion, we suggest a method to automatically generate the semi occurrence sets. The basic idea is to generate an approximation of the atoms selected in the LD tree, by a refinement of the depth k abstraction ([17]) used for program analysis based on abstract interpretation ( 8, 9] Since existential termination does not enjoy any closure property, we are forced to compute an abstract denotation depending on both the program and the goal. To this end, we shall use a (leftmost) top down construction based ....
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227--240, 1984.
....or does not allow infinite ascending chains even if it is infinite. Abstract interpretation provides a safe and finite approximation of some runtime behavior of the program. For instance, a number of abstract interpretations have been proposed to approximate success patterns of atoms or clause [2] [9]. The ones in [6] 7] 9] are based on top down evaluation while the ones in [2] 5] 8] on bottom up evaluation. Recently, bottom up abstract interpretation of logic programs has gained much attention. The analysis is based on a concrete semantics which propagates the information in the ....
....ascending chains even if it is infinite. Abstract interpretation provides a safe and finite approximation of some runtime behavior of the program. For instance, a number of abstract interpretations have been proposed to approximate success patterns of atoms or clause [2] 9] The ones in [6] 7] [9] are based on top down evaluation while the ones in [2] 5] 8] on bottom up evaluation. Recently, bottom up abstract interpretation of logic programs has gained much attention. The analysis is based on a concrete semantics which propagates the information in the opposite direction with respect ....
[Article contains additional citation context not shown here]
T. Sato and H. Tamaki, "Enumeration of success patterns in logic programs," Theoretical Computer Science, vol. 34, pp. 227--240, 1984.
....The second property tells us that we can always improve the precision by choosing a better (greater) k. This property should hold at least for the majority of goals. In the case of the nite failure semantics, property 1 it is easy to achieve by using the standard abstraction on the depth k domain [20]. Achieving property 2 is instead a rather dicult task. Finite failure, in fact, is a universal property. In order to infer that an atom nitely fails, we need to know whether its instances (with arbitrary depth) nitely fail. Unfortunately, on the standard depth k domain, the property of nite ....
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227-240, 1984.
....grants CCR 9404921, 9510072, 9705998, 9711386, CDA 9504275 and INT 9600598. 1 techniques perform an all or nothing optimization: no optimization is possible if we cannot determine whether a predicate is functional, or a set of clauses are mutually exclusive. Necessarycondition based techniques [5, 12, 15, 22] combine the benefits of the above two categories of techniques. They exploit failure related information that may be embedded deep within a program, and use it systematically to prune failure bound branches, regardless of whether the branch involves deterministic or non deterministic predicates. ....
....implementation of SNIP shows that the aggressive specialization strategy leads to significant performance gains, while still retaining the assurances regarding worst case performance. LL(k) grammars provide an interesting example of the effectiveness of SNIP. Given depth k necessary conditions [5, 22], SNIP transforms a DCG representation of an LL(k) grammar into the equivalent (deterministic) LL(k) parser. This issue is discussed in further details in section 5. 3 1.3 Organization of the Paper The rest of the paper is organized as follows. After stating the notational conventions and basic ....
[Article contains additional citation context not shown here]
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227--240, 1984.
....on the tail of a di erence list. We shall elaborate on this in Example 1 (below) One straightforward technique for adding structural information to an abstract domain R is to consider its cross product with a description domain for structural information, such as the depth(k) domain described in [17] . Analyses in the new domain will give information about structure and allow pruning, but it will not provide sub structure information since descriptions from R will still apply only to procedure arguments. A more sophisticated approach in which an abstract domain R is enhanced with structural ....
....and its analysis can be found in [1] The essential idea behind Pat(R) is to describe a tuple of terms (the arguments to a procedure) as a tuple of patterns augmented with additional information. A pattern is a description of the structures in a term. It is similar to a depth(k) description [17], however, there is no xed k. In principle, a pattern for a term can simply be viewed as a generalisation of the term and with that view a pattern describes its set of instances. A least upper bound operation on tuples is de ned as their most speci c generalisation. The additional information ....
[Article contains additional citation context not shown here]
T. Sato and H. Tamaki, Enumeration of success patterns in logic programs, Theoretical Computer Science 34 (1984) 227-240.
No context found.
Tamaki, H. and T. Sato: 1984a, `Enumeration of Success-patterns in Logic Programs '. Theoretical Computer Science 34, 227#240.
No context found.
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227--240, 1984.
No context found.
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227--240, 1984.
No context found.
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227-240, 1984.
No context found.
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227--240, 1984.
No context found.
T. Sato and H. Tamaki, "Enumeration of Success Patterns in Logic Programs", Theoretical Computer Science 34 (1984), pp. 227-240.
First 50 documents
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