| T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Logic in Computer Science, LICS'91, pages 300--309, 1991. |
....fail or deadlock, respectively) In this sense, the value of the variable p in the greatest solution of P denotes a type for the arguments of the procedure p. 6 Related Work Previous work set based analysis for logic programming has considered the least model semantics only (see, e.g. [20, 12, 9, 1, 10]) Mishra s analysis [20] is often cited as the historically first one here. A comparison with our analysis sheds a new light on this. Mishra uses a class of set constraints with a non standard interpretation over non empty path closed sets of finite trees to approximate the least model of a ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....1 Introduction Set constraints are inclusions between expressions denoting sets of trees. Such expressions are first order terms with or without set operators. Set constraints have received much attention in constraint based type inference and program analysis for different programming languages [32, 24, 28, 21, 5, 15, 19, 7, 8, 2, 1]. Other applications of set constraints include order sorted unification [37] and constraint logic programming [25] The complexity of the satisfiability problem for various classes of set constraints has been widely studied [17, 20, 10, 3, 6, 18, 4, 11, 12, 3, 35, 29] and was often found to be ....
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. 6 IEEE Symposium on Logic in Computer Science, pp. 300-- 309, 1991.
....complexity, computational logics. 1 Introduction Set constraints are logical formulas describing relations between sets of trees [2, 6, 7, 13, 16] Set constraints have received much attention in constraint based type inference and program analysis for different programming languages [3, 12, 15, 17, 20, 27]. Other applications of set constraints include order sorted unification [28] and constraint logic programming [19] Expressiveness and Complexity. Expressiveness and complexity have been widely studied for various classes of set constraint [1, 2, 8, 10, 11, 14, 26] The complexity of their ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In 6 300--309. IEEE Computer Society Press, 1991.
....this problem is even DEXPTIME hard. 1 Introduction Set constraints are logical formulas describing relations between sets of trees [2, 5, 6, 13, 16] Set constraints have received much attention in constraint based type inference and program analysis for different programming languages [3, 12, 15, 17, 21, 28]. Other applications of set constraints include order sorted unification [29] and constraint logic programming [20] Expressiveness and Complexity. Expressiveness and complexity have been widely studied for various classes of set constraint [1, 2, 7, 9, 11, 14, 27] The complexity of their ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In 6 LICS, pages 300--309. 1991.
....Theorem 4) The global suspension of a process is not necessarily a programming error. That a process must suspend forever in order to avoid a runtime error is, however, a problem worth diagnosing and reporting. Related Work. To our knowledge, set based analysis for logic programming (see e.g. [5, 18, 13, 14, 22, 23, 30]) has previously only been designed to approximate the success set (which can be characterized by the least model semantics) Mishra s analysis [30] is often cited as the historically first one here. Heintze and Jaffar [23] have shown that Mishra s analysis is less accurate than theirs in two ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....finite and infinite trees. The logical formulas used in set based analysis yield a syntactically rich formalism to define regular sets of trees; they are conceptually close to the programs from which they are directly derived. This is particularly apparent in the analysis of logic programs in [10], which uses a subclass of logic programs called uniform programs. Uniform programs, which are sets of Horn clauses in a certain form, subsume many other formalisms used in set based analysis (e.g. in [23, 15, 12, 7, 5] modulo simple translations. As shown in [12, 10] the sets of finite trees ....
....analysis of logic programs in [10] which uses a subclass of logic programs called uniform programs. Uniform programs, which are sets of Horn clauses in a certain form, subsume many other formalisms used in set based analysis (e.g. in [23, 15, 12, 7, 5] modulo simple translations. As shown in [12, 10], the sets of finite trees defined by the least fixed point semantics of uniform programs are regular; the emptiness test is EXPTIME complete. It is natural to ask whether also the greatest fixed point of a uniform program defines regular sets (of infinite trees) We give a positive answer not ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....visiting Max Planck Institut The logical formulas used in set based analysis yield a syntactically rich formalism to define regular sets of trees; they are conceptually close to the programs from which they are directly derived. This is particularly apparent in the analysis of logic programs in [10], which uses a subclass of logic programs called uniform programs. Uniform programs, which are sets of Horn clauses in a certain form, subsume many other formalisms used in set based analysis (e.g. in [23, 15, 12, 7, 5] modulo simple translations. As shown in [12, 10] the sets of finite trees ....
....analysis of logic programs in [10] which uses a subclass of logic programs called uniform programs. Uniform programs, which are sets of Horn clauses in a certain form, subsume many other formalisms used in set based analysis (e.g. in [23, 15, 12, 7, 5] modulo simple translations. As shown in [12, 10], the sets of finite trees defined by the least fixed point semantics of uniform programs are regular; the emptiness test is EXPTIME complete. It is natural to ask whether also the greatest fixed point of a uniform program defines regular sets (of infinite trees) We give a positive answer not ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....extension of the formalism of discriminative term grammars, where sets of constrained terms are constructed from a finite collection of base sets. Term grammars and set constraints have been used by many authors for specifying and inferring types for logic programs (see among others (Mishra, 1984; Fruhwirth et al. 1991; Dart Zobel, 1992; Gallagher de Waal, 1994; Aiken Lakshman, 1994; Boye, 1996; Charatonik Podelski, 1998) We show how the operations on discriminative term grammars can be extended to handle sets of constrained terms introduced by the extended discriminative term grammars. A solution to ....
....such approximations are called descriptive types of logic programs. Types in logic programming. We follow the descriptive typing approach where types approximate a posteriori the semantics of untyped programs. The early work on descriptive types (Mishra, 1984; Janssens Bruynooghe, 1992; Fruhwirth et al. 1991; Yardeni Shapiro, 1991) was based on the least model semantics. The problems considered were how to check that the least model semantics is included in a regular set of terms (the type checking problem) and how to approximate it by regular sets (the type inference problem) The regular sets ....
[Article contains additional citation context not shown here]
Fruhwirth, T., Shapiro, E., Vardi, M., & Yardeni, E. (1991). Logic programs as types for logic programs. Pages 300--309 of: Kahn, G. (ed), Annual IEEE Symposium on Logic in Computer Science (LICS). Amsterdam: IEEE Computer Society Press. Corrected version available from http://WWW.pst.informatik.uni-muenchen.de/~fruehwir.
....is EXPTIME hard, already for linear rewrite systems and linear t. A O(2 n log n ) lower bound was proved by Kapur et al. [10] We give here a simple proof of EXPTIME hardness. It is known that the emptiness problem for the intersection of n recognizable languages is EXPTIME complete, see [7], 14] We show here that this problem is reducible to ground reducibility in polynomial time. In section 2, we recall the definition of automata with disequality constraints. In section 3, we show how to construct an automaton with disequality constraints whose emptiness is equivalent to the ....
....22 6 Lower bound Theorem 4. Ground reducibility is EXPTIME hard, for linear rewrite systems R and linear terms t, with PTIME reductions. The proof is a reduction of the emptiness problem for the intersection of (languages recognized by) k tree automata.The latter is know to be EXPTIME complete ([7], 14] We encode several (parallel) computations (runs) of k given tree automata on the same ground term t 2 T (F) as a term of s 2 T (F 0 ) where F 0 is a new alphabet built from F and the tree automata. This encoding is polynomial. Then, we build a rewrite system R whose every ground ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardemi. Logic programs as types for logic programs. In 6th IEEE Symp. Logic In Computer Science, pages 300--309, 1991. 25
.... program analysis by combining program abstraction (replacing terms by sets of variables) with concrete evaluation (enhanced by ACI1 unification) This approach is often termed abstract compilation and derived from ideas presented in [15, 7, 13] and has been applied in a variety of applications [11, 12, 2, 9]. To our knowledge, no previous work has provided an abstract compilation scheme for sharing information. This is no surprise, since the complexity involved in an accurate analysis for such information makes it a non trivial task. We attack this problem by formulating abstract compilation as a ....
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, Amsterdam, The Netherlands, July 15--18 1991. IEEE Computer Society Press.
....an approach 2 which combines program abstraction (replacing terms by sets of variables) with concrete evaluation (enhanced by ACI1 unification) This approach is derived from ideas presented in [21, 12, 19] and often termed abstract compilation. It has been applied in a variety of applications [16, 18, 7, 9]. To our knowledge, no previous work has provided an abstract compilation scheme for sharing information. 2) Most of the recent work on sharing analyses for logic programs attempts to justify the correctness of the proposed abstract operations (e.g. unification) by mimicking the behavior of a ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309. IEEE Computer Society Press, July 1991.
....evaluation results in a promising technique which is both theoretically clean and easy to implement using general purpose tools. The idea of obtaining static analyses by program abstraction is derived from ideas presented in [28, 19, 26, 15, 14] and has been applied in a variety of contexts, e.g. [44, 23, 7, 25, 24]. Unique to our approach is the combination of a simple syntax directed program abstraction and a standard equality theory for type expressions. We pay special attention to the role of variables in abstract programs and in their semantics. It turns out, similar to the case of classic semantics of ....
T. Fruhwirth, E. Shapiro, M. Y. Varai, and E. Yardeni. Logic programs as types for logic programs. In Albert R. Meyer, editor, Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science, pages 300--309, Amsterdam, The Netherlands, July 1991. IEEE Computer Society Press.
....#. 5.1 Decidable Cases of Rigid Reachability We begin with defining a reduction from rigid reachability to the emptiness problem of the intersection of n regular languages recognized by tree automata A 1 , An . This intersection emptiness problem is known to be EXPTIMEcomplete, see [12], 21] and [24] We may assume the states sets of the A 1 , An to be disjoint and that each of these tree automata has only one final state. We call these final states, respectively, q f A1 , q f An . For stating the following lemma, we extend the signature # by a new symbol f ....
Thom Fruhwirth, Ehud Shapiro, Moshe Y. Vardi, and Eyal Yardemi. Logic programs as types for logic programs. In 6th IEEE Symp. Logic In Computer Science, pages 300--309, 1991.
.... to the type checking procedure for arbitrary types) and path closure abstraction (related to the type checking procedure for discriminative types) These properties, that we collect in Section 2, are of general interest; in particular, the abstraction by path closure keeps reappearing (see, e.g. [27, 26, 31, 19, 20]) Furthermore, we establish that the directional types of a program P are exactly the models of an associated logic program P I nOut . In fact, P I nOut is a kind of magic set transformation (see, e.g. 20] of P . We obtain our results (and the soundness and completeness results in [1] by ....
....the special case where m 1 = mn = 1, i.e. a logic program whose clauses are all of the form p(f(x 1 ; xn ) p 1 (x 1 ) pn (x n ) A set of trees is regular if it can be denoted by a predicate p in the least model of a non deterministic tree automaton. A uniform program [19] consists of Horn clauses in one of the following two forms. In a linear term, each variable occurs at most once. p(t) p 1 (x 1 ) p k (x m ) where the term t is linear. q(x) p 1 (t 1 ) pm (t m ) where t 1 ; t m are any terms over Sigma (Var) A uniform ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....procedures but requires type declarations for data constructors. Other statically typed languages, however, do not require data type definitions. These languages infer types for both procedures and data. Automated inference of data types has been studied both in the context of logic programming [12, 8, 5, 9] and in the context of functional programming [13, 1, 2, 6] Many different analyses have been developed. These approaches all share a common framework in that they assign sets (or types) to program expressions. Although the various approaches to inferring data types seem to share certain basic ....
Thom Fruhwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 75--83. IEEE Computer Society Press, 1991.
....i.e. the problem of constructing types, such as the notion of a list of integers, from a program without declarations for data constructors such as CONS. Declarationfree type inference, and the synthesis of recursive types, has been explored both in the context of logic programming, e.g. [22, 14, 10, 16], and in the context of functional programming [23, 1, 2, 12] Declaration free type inference has two advantages over Hindley Milner types. First, it can be used for languages, such as Scheme, where type declarations are not provided. Second it allows the same data constructor to be used in a ....
Thom Fruhwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 75--83. IEEE Computer Society Press, 1991.
....X c 0 generate disjoint languages. Hence operations on sets of constructors correspond to the analogous operations on the types being represented. Determining emptiness of an intersection of a set of nonterminals in an arbitrary (nonmonomorphic) regular term grammar is known to be EXPTIME hard [5]. Monomorphic regular types yield a considerable simplification. Throughout this paper we assume a fixed user declared grammar defining the types of constructors. The user provides a grammar in which no constructor appears more than once and this grammar is automatically converted to a ....
Thom Fruhwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 75--83. IEEE Computer Society Press, 1991.
....with no type declarations of any form. The programming language ML provides automatic type inference for procedures but requires type declarations for data constructors. Set based analysis for languages without datatype declarations has been studied both in the context of logic programming [12, 7, 4, 8] and in the context of functional programming [13, 1, 2, 5] Many different analyses have been developed. These approaches all share a common framework in that they assign sets (or types) to program expressions while ignoring correlations. For example, consider a variable x that can take on any ....
Thom Fruhwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 75--83. IEEE Computer Society Press, 1991.
....set projection, intersection and union, and it is clear that solving such constraints can be expensive in the worst case. This is mainly due to the exponential behaviour of the intersection operation. Exponential upper and lower bounds for one case of set constraint analysis are established in [13]. However it is not clear what these observations have to say about the practicality of set based analysis. Typical programs rarely exhibit the extremes of behaviour which are exploited to obtain worst case behaviour. This paper is a progress report on an ongoing effort to incorporate set based ....
T. Fruhwirth, E. Shapiro, M.Y. Vardi, E. Yardeni, "Logic Programs as Types for Logic Programs", Proceedings 6 th IEEE Symposium on Logic in Computer Science, June 1991.
....computational semantics of a program. For decidability reasons, only an approximation of this semantics can be computed. Set based analysis [Hei92a] provides an elegant and accurate method for this. In the logic programming framework, this computation can be related to type inference [MR85] In [FSVY91], a simpler presentation based on program transformation and algorithms on alternating tree automata is proposed. Unfortunately, the authors focussed on type checking (i:e: a membership test to the approximate semantics) We propose in this paper a new method to achieve set based analysis reusing ....
....transformation and algorithms on alternating tree automata is proposed. Unfortunately, the authors focussed on type checking (i:e: a membership test to the approximate semantics) We propose in this paper a new method to achieve set based analysis reusing the main transformation described in [FSVY91]. The main tool for both computation and representation of the result of set based analysis is tree automata. This leads to a global and coherent presentation of the problem of set based analysis combined with the simplicity of [FSVY91] We obtain also a complexity characterization for the problem ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of the 6 th IEEE-LICS, pages 300--309, jun 1991.
....Finally, constraints are interpreted in a fixed domain for which dedicated efficient solving techniques can be used. Hence, it is worth characterizing some decidable fragment in a logic programming language and leave it as constraint, thus taking advantage of the knowledge on the domain (see [23] for an example of automatic detection of such fragments) This was originally one of the main motivations for adding constraints into logic programming languages: for example linear equations over the integers are not solved using the logic programming langage (which is in principle possible) ....
....symbols. Then, set constraints are finite conjunctions of formulae e e 0 where e; e 0 are set expressions. These formulae are interpreted assigning set variables to subsets of the term algebra T (F ) Such constraints have been used for the analysis of logic and functional programs (see [26, 1, 23]) The case of definite constraints has been solved in [26] and the general case has been further studied by quite different means in [1, 3, 24] There are two extensions which are still under investigation: adding negative constraints of the form e 6 e 0 and adding the projection construction, ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proc. 6th IEEE Symp. Logic in Computer Science, Amsterdam, pages 300--309, 1991.
.... approximations provide a way of deciding certain properties of a program, since regular programs have a number of decidable properties and associated computable operations [1] The question of how to define regular safe approximations of a program has been discussed before [21] 31] 15] [11], 16] Most of this work considered the definition and precision of various different approximations. Little work emphasising efficient, practical implementation has been presented. In this paper we present an algorithm for computing a regular approximation of a logic program, discuss its ....
....using regular structures to approximate the success set of a program, and called these approximations types . The approximation was obtained by solving a set of recursive equations derived from the program. This general approach was continued by Heintze and Jaffar [15] and by Fruhwirth et al. [11]. Both of these papers shed much light on the general problem of defining regular approximations, and the precision of different classes of approximation. The approach to regular approximation based on abstract interpretation of the TP function was initiated by Yardeni [31] but his was a ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of the IEEE Symposium on Logic in Computer Science, Amsterdam, July 1991.
....real numbers L Hg The type constants in Cons f have the following fixed denotations. real denotes f Gamma1; 1g plus the set of reals, int denotes f Gamma1; 1g plus the set of integers, int L;H denotes the integer interval [L: H] and real L;H denotes the closed real interval [L: H] Following [11] and [13] we define types by type clauses. A type clause is either of the form f(x 1 ; Delta Delta Delta ; xn ) c(fi 1 ; Delta Delta Delta ; fi m ) x 1 : G 1 ; Delta Delta Delta ; xn : Gn or of the form x : c(fi 1 ; Delta Delta Delta ; fi m ) x : d(fi 0 1 ; Delta Delta ....
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309. The IEEE Computer Society Press, 1991.
....evaluation results in a promising technique which is both theoretically clean and easy to implement using general purpose tools. The idea of obtaining static analyses by program abstraction is derived from ideas presented in [18, 12, 17, 11, 10] and has been applied in a variety of applications [32, 14, 16, 15]. Unique to our approach is the combination of a simple syntax directed program abstraction for types and a standard equality theory for type expressions. We pay special attention to the role of variables in abstract programs and in their semantics. It turns out, similar to the case of classic ....
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science [19], pages 300--309.
....set based analysis here adds no extra approximation, it yields a full test of CTL properties of pushdown processes even with this extension; see Theorem 2, Section 4. When we use set based analysis as a verification method, the constraintsolving algorithms which form its computational heart (e.g. [18,17,8,13]) replace the traditional fixpoint iteration of model checking. The constraints used here can be represented by logic programs (see Section 6) Then, constraint solving (more precisely, testing emptiness of the solution of interest) amounts to firstorder theorem proving based on resolution. We are ....
....This means to compute the particular solution that represents the set based abstract semantics, which again means to compute a non deterministic tree automaton that represents the solution. We will give here an introduction to the set based analysis of logic programs with uniform programs (as in [17]) Uniform programs subsume several classes of set constraints used in the set based analysis of logic and imperative languages (e.g. in [21,19,14,8] modulo simple translations. Note that we can view any logic program as a formula whose monadic predicate symbols stand for variables ranging over ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....that are more expressive (and hence could give more precise approximations) but we chose this form because it is easy to manipulate and it is straightforward to check success or failure of derivations. Another rather direct method for finding a regular approximation of a logic program is given in [4]. The authors emphasise that there is a direct connection between their method and methods based on computing an abstraction of T P . Given a program P , an approximation is first constructed by defining a unary type predicate for each program variable. The clauses defining these predicates can ....
....useless clauses would be needed. We have as yet not performed sufficient analysis on the complexity of our approximation algorithm to indicate upper bounds on complexity, or, more importantly, average complexity. Our approximations are in general somewhat less precise than those defined in [4], but this trades off with faster approximation times. We confirmed this by implementing a version of the approximation procedure in [4] Timings are given in a later section. An important point is that a program can be split into smaller sets of clauses each of which is separately approximated. ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In 6th IEEE Symposium on Logic in Computer Science, Amsterdam, 1991.
....of finite tree automata are typically complete for the computational complexity classes they belong to and have, due to their simple formulation, proved to be useful tools in classifying complexity bounds of other problems. In particular, inequivalence [44, 46] and intersection nonemptiness [7, 15, 47] are examples of such decision problems. The intersection nonemptiness problem of finite tree automata arises naturally in the context of type inference in logic programming [15] The same decision problem restricted to top down deterministic finite tree automata arises also in sort inference in ....
....complexity bounds of other problems. In particular, inequivalence [44, 46] and intersection nonemptiness [7, 15, 47] are examples of such decision problems. The intersection nonemptiness problem of finite tree automata arises naturally in the context of type inference in logic programming [15]. The same decision problem restricted to top down deterministic finite tree automata arises also in sort inference in typed functional programming [47] Our main motivation for studying this problem is its close connection with a certain fragment of intuitionistic logic with equality and a ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types of logic programs. In Proc. 6th Symposium on Logics in Computer Science (LICS), pages 300--309, 1991.
.... Approximations Regular structures have a number of decidable properties and associated computable operations [2] that make them suited for use as approximations to logic programs [53, 77, 110] Comprehensive accounts of how to define regular safe approximations of logic programs can be found in [77, 110, 47, 34, 53]. Most of this work considered the definition and precision of various different approximations. In this section we concentrate on two implementations of regular safe approximations. First, we define a regular safe approximation and second, discuss the major differences between the two ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In 6th IEEE Symposium on Logic in Computer Science, Amsterdam, 1991.
....initial configuration is w and discards trees which are not computation trees: this can be verified locally with a polynomial number of rules. It is also possible to prove EXPTIME hardness by reducing the emptiness problem for the intersection of n tree automata. The latter is EXPTIME complete ([16, 7]) 7 Conclusion We proved that ground reducibility is EXPTIMEcomplete for both the linear and the non linear case. This closes a pending question. However, we do not claim that this result in itself gives any hint on how to implement a ground reducibility test. As we have seen, it is not ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proc. 6th IEEE Symp. Logic in Computer Science, Amsterdam, pages 300-- 309, 1991.
....in fact EXPTIME complete. We first introduce the following definition. I The intersection nonemptiness problem of DTAs or DTAI is the following decision problem. Given a collection f A i j 1 i n g of DTAs, is T n i=1 T (A i ) nonempty The following result has been observed by other authors [18,22,36] and strictly proved in Veanes [41] Theorem 6 (Veanes) DTAI is EXPTIME complete. We will first show that SREU with one variable reduces to DTAI in polynomial time. This establishes the inclusion of SREU with one variable in EXPTIME. We then show that DTAI reduces to SREU with one variable, ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types of logic programs. In Proc. 6th Symposium on Logics in Computer Science (LICS), pages 300--309, 1991.
....more compact and more useful answer to a query. So far, this idea has been applied only to Datalog . 8. 2 Finite representation Since the first version of this paper was presented [CI89] several papers have appeared that also deal with the issue of finite representation of infinite query answers: [HJ90b, HJ90a, FSVY91, CH91]. The approaches pursued in those papers are, however, different from ours. Heintze and Jaffar [HJ90b, HJ90a] use set constraints to represent approximations of least Herbrand models of logic programs. Their approximation is precise for a class of logic programs that properly contains Datalog nS , ....
....Collections of set equations or tree automata are, however, less explicit than the representations proposed in this paper. Heintze and Jaffar s approach does not, for example, make the periodicity implicit in a logic program (c.f. Example 1.1) explicit. Fruhwirth, Shapiro, Vardi and Yardeni [FSVY91] propose an approach similar in spirit to that of Heintze and Jaffar. Instead of set constraints, they use unary logic programs. Their approach is slightly more general than Heintze and Jaffar s and they also supply relevant computational complexity results. Interestingly, the example programs ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. In IEEE Symposium on Logic in Computer Science, 1991.
....of the undecidable semi unification problem [25] That problem would reject, for example, the inequality f(a; b) f(x; x) whereas in IN ES the formula f(a; b) f(x; x) is satisfiable (take the set of all trees as the value for x) Set Constraints. The previous research on set constraints (see [5, 2, 4, 9, 12, 13, 18, 20, 21, 19, 23, 26]) has considered the domain of arbitrary sets of (finite) cite all this trees (standard set constraints, for short) When the empty set is excluded, the satisfiability of set constraints changes in a fundamental way. For instance, the constraint f(x; x) f(a; b) is no longer satisfiable since its ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....Proof. The proof is analogous to the proof of the lemma above. 2 Proposition 4 (lower bound) The problem of the satisfiability of the co definite set constraints is DEXPTIME hard. Proof. The proof follows by the reduction of the problem of the emptiness of the intersection of tree automata [9]. 4 For given n tree automata, let 1 ; n be the constraints bounding the variables X 1 ; X n to the languages of the automata. Then, the constraint a f Gamma1 (1) f(a; X 1 : X n ) is satisfiable if and only if the intersection of the languages is nonempty. 2 ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....change, an exponential gain can be obtained in some cases. The DEXPTIME lower bound can be expected for any class of of set constraints that can express regular sets of trees, since conjunction corresponds to intersection (and since the emptiness of intersection of n tree automata is DEXPTIMEhard [36,84]) Note that there is a close relation between (certain classes of) set constraints and two way alternating tree automata [36,24,81,16,86,94,93,40,78] cf. however, also the formalization of a connection with 2NPDA s by Heintze and McAllester [59] To give some intuition, we will translate the ....
.... that can express regular sets of trees, since conjunction corresponds to intersection (and since the emptiness of intersection of n tree automata is DEXPTIMEhard [36,84] Note that there is a close relation between (certain classes of) set constraints and two way alternating tree automata [36,24,81,16,86,94,93,40,78] (cf. however, also the formalization of a connection with 2NPDA s by Heintze and McAllester [59] To give some intuition, we will translate the tree automaton with the transitions below (over the alphabet with the constant symbol 0 and the unary symbol s; note that a string automaton is the ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....fixpoint iteration under the operator that adds immediate consequences under 9 logical axioms. Each consequence is an inclusion between two terms from a set of bounded size; this is used to show the termination and to derive the upper bound. Using a reduction from a tree automata problem (as in [15]) we give an exponential lower bound and thus obtain that the satisfiability problem is DEXPTIME complete. This is the first time that a class of set constraints (over a general constructor alphabet) falls into this complexity class. Since the classes of definite set constraints and of set ....
....grammars followed by a separate satisfiability test. Their syntax shares with ours the use of intersection variables which, roughly, stand for intersection terms and thus make the syntax homogeneous. They have not considered negative definite set constraints. Fruhwirth, Shapiro, Vardi and Yardeni [15] characterize the membership problem in the least model of a logic program in a subclass of so called proper unarypredicate programs by the same complexity. Their lower bound proof is similar to ours (and, in fact, inspired it) their algorithm is based on 2 way automata transformations. Both, ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....j :C A set expression of the form f(C 1 ; Cn ) is taken to denote the set of all terms f(t 1 ; t n ) with t i 2 C i . A set constraint is an expression of the form C 1 C 2 . Herbrand set constraints are largely inspired by applications to the static analysis of computer programs [19, 18, 13, 3]. The problem of determining satisfiability of a finite set of Herbrand set constraints is known to be complete for nondeterministic exponential time [1, 4] The problem remains decidable in nondeterministic exponential time if one adds both negative constraints, i.e. C 1 6 C 2 , 2, 7] and ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposiumon Logic in Computer Science, pages 75--83. IEEE Computer Society Press, 1991.
....by Cartesian approximation) the set valued abstraction (obtained by replacing membership constraints with set inclusions) and path closure. These properties, that we collect in Section 2, are of general interest; in particular, the abstraction by path closure keeps reappearing (see, e.g. [23, 22, 27, 17, 18]) Furthermore, we establish that the directional types of a program P are exactly the models of an associated logic program P InOut . In fact, P InOut is a kind of magic set transformation (see, e.g. 18] of P. We obtain our results (and the soundness and completeness results in [1] by ....
....special case where m 1 = m n = 1, i.e. a logic program whose clauses are all of the form p(f(x 1 ; x n ) p 1 (x 1 ) p n (x n ) A set of trees is regular if it can be denoted by a predicate p in the least model of a non deterministic tree automaton. A uniform program [17] consists of Horn clauses in one of the following two forms. In a linear term, each variable occurs at most once. ffl p(t) p 1 (x 1 ) p k (x m ) where the term t is linear. ffl q(x) p 1 (t 1 ) p m (t m ) where t 1 ; t m are any terms over Sigma. A uniform ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
....type expressions. Keywords: type, emptiness, prescriptive type 1 Introduction Types play an important role in programming languages [6] They make programs easier to understand and help detect errors. Types have been introduced into logic programming in the forms of type checking and inference [5,9,12,26,32] or type analysis [25,33,17,19,13,22,7,23] or typed languages [16,21,28,31] Recent logic programming systems allow the programmer to declare types for predicates and type errors are then detected either at compile time or at run time. The reader is referred to [27] for more details on types in ....
....union and complement operations. The decision problems such as the emptiness of a type, inclusion of a type in another and equivalence of two types should be decidable. Regular term languages [14,8] called regular types, satisfy these conditions and have been used widely used as types [29,25,33,9,17,21,28,31,12,32,19,13,22,7,23]. Most type systems use tuple distributive regular types which are strictly less powerful than regular types [29,25,33,17,21,28,31,12,32,19,13,22,7,23] Tuple distributive regular types are regular types closed under tuple distributive closure. Intuitively, the tuple distributive closure of a ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309. The IEEE Computer Society Press, 1991.
....Prolog program p(u; v) v = cons(xu) because Prolog does not allow variables to be global wrt. a predicate but rather existentially quantifies x. 2 The formal account of the derivation of type constraints from programs will be given in [Mul96] derivation of recursive sets from programs [FSVY91]. For proofs and a detailed discussion of related work see [MN95] Plan of the Paper. This paper is structured as follows. In the Section 2 below we present our constraints along with their semantics and give necessary notation. Section 3 gives a simple algorithm which is correct but ....
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. In IEEE Symposium on Logic in Computer Science, pages 300--309, 1991.
....We first introduce the following definition. I The intersection nonemptiness problem of DTAs or DTAI is the following decision problem. Given a collection f A i j 1 i n g of DTAs, is T n i=1 T (A i ) nonempty We will use the following result that has been observed by other authors [19, 24, 41] and strictly proved in Veanes [47] Theorem 3 (Veanes) DTAI is EXPTIME complete. We will first show that SREU with one variable reduces to DTAI in polynomial time. This establishes the inclusion of SREU with one variable in EXPTIME. We then show that DTAI reduces to SREU with one variable, ....
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types of logic programs. In Proc. 6th Symposium on Logics in Computer Science (LICS), pages 300--309, 1991.
....here. 4.1 Regular Approximations This is a very general tool, which can be usefully applied to the concrete interpretation as well as to abstract interpretations. A set of atoms is regular if it can be described as the model of a canonical regular unary logic program (RUL program) YS90] [FSVY91]. An RUL clause is of the form: ffl p 0 (f(x 1 ; xn ) p 1 (x 1 ) pn (xn ) where x 1 ; xn are distinct variables. An RUL program is a set of RUL clauses in which no two clause heads have a common instance. Let P be a program. In a regular approximation of P , assume ....
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of the IEEE Symposium on Logic in Computer Science, Amsterdam, July 1991.
....s emantique peut etre consid er ee. L analyse ensembliste [Hei92a] est une m ethode a la fois el egante et pr ecise permettant le calcul d une telle approximation. Dans le cadre de la programmation logique, celle ci peut etre consid er ee comme de l inf erence de type (au sens de [MR85] Dans [FSVY91], une pr esentation plus simple de l analyse ensembliste est propos ee : celle ci est bas ee sur des transformations de programmes logiques et des algorithmes op erant sur des automates d arbres alternant. Cependant, les auteurs ne traitent principalement que de la v erification de type (i:e: le ....
.... les auteurs ne traitent principalement que de la v erification de type (i:e: le test d appartenance a la s emantique approch ee du programme) Nous pr esentons dans cet article une nouvelle m ethode d analyse ensembliste en r eutilisant la transformation de programmes majeure propos ee dans [FSVY91]. Les automates d arbres seront notre outil pour a la fois calculer et r epr esenter le r esultat de l analyse ensembliste. Ceci permet une approche globale et coh erente de l analyse ensembliste tant en conservant la simplicit e de l approche pr esent ee dans [FSVY91] et donne une ....
[Article contains additional citation context not shown here]
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of the 6 th IEEE-LICS, pages 300--309, jun 1991.
....consists of all regular sets of ground terms, including infinite regular sets. Any such set can be uniquely specified by a finite collection of set constraints. All Boolean operations, including negation, are allowed. Negations are dealt with using a generalized DeMorgan law. Fruhwirth et al. [12] have also shown how to express the monadic approximation using logic programs. However, their approach is quite different: they transform a given logic program into another logic program such that the latter computes exactly the monadic approximation of the former. They work with a conventional ....
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proc. 6th Symp. Logic in Computer Science, pages 300--309. IEEE, July 1991.
....finite descriptions of infinite sets of terms. Usually, of course, such finite descriptions represent approximations of the infinite set. One such technique which is well understood and has been successfully implemented is the method of regular approximation [GdW94] HCCar] BJ92] Hei92] [FSVY91]. In functional languages, a method for deriving regular tree automata approximations of programs was developed by Jones [Jon87] The aim of this analysis technique is to compute for each argument position in the program a regular description of the set of values that can appear at that position ....
T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of the IEEE Symposium on Logic in Computer Science, Amsterdam, July 1991.
....real value, but not t E(t) Such constraints are used, e.g. in the constraint concurrent logic programming language Oz [47] developed at DFKI in Saarbrucken. Typing constraints can also be inferred at compile time in a logic programming language, taking advantage of the structure of the program [19]. Then automata techniques can be devoted to this particular piece of program, which yields more efficient execution. The first order theory of typing (also called membership) constraints has been proved decidable by H. Comon and C. Delor [10] Related to typing constraints, set constraints have ....
Thom Fruhwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proc. 6th IEEE Symp. Logic in Computer Science, Amsterdam, pages 300--309, 1991.
No context found.
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Logic in Computer Science, LICS'91, pages 300--309, 1991.
No context found.
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309. IEEE Computer Society Press, July 1991.
No context found.
T. Fruhwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, Amsterdam, The Netherlands, July 15--18 1991. IEEE Computer Society Press.
No context found.
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. In G. Kahn, editor, Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science, July 1991.
No context found.
T. Fruhwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300--309, July 1991.
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