## A Finite Presentation Theorem for Approximating Logic Programs (1990)

Venue: | In Seventeenth Annual ACM Symposium on Principles of Programming Languages |

Citations: | 94 - 15 self |

### BibTeX

@INPROCEEDINGS{Heintze90afinite,

author = {Nevin Heintze and Joxan Jaffar},

title = {A Finite Presentation Theorem for Approximating Logic Programs},

booktitle = {In Seventeenth Annual ACM Symposium on Principles of Programming Languages},

year = {1990},

pages = {197--209},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

In program analysis, a key notion used to approximate the meaning of a program is that of ignoring inter-variable dependencies. We formalize this notion in logic programming in order to define an approximation to the meaning of a program. The main result proves that this approximation is not only recursive, but that it can be finitely represented in the form of a cyclic term graph. This explicit representation can be used as a starting point for logic program analyzers. A preliminary version appears in the Proceedings, 17 th ACM Symposium on POPL. y School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213-3890 z IBM Thomas J. Watson Research Center, PO Box 218, Yorktown Heights, NY 10598 Section 1: Introduction 1 1 Introduction The problem at hand is: given a logic program, obtain an approximation of its meaning, that is, obtain an approximation of its least model. The definition of the approximation should be declarative (so that results can be proved ab...

### Citations

1855 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...dely used to infer runtime properties. 6 For efficiency most of these algorithms, e.g. [2], also ignore inter-variable dependencies. Section 2: Preliminary Definitions 4 2 Preliminary Definitions See =-=[7]-=- for standard terminology and definitions about pure logic programs P . Let \Sigma and \Pi denote the functors, that is, the (nonempty) alphabet of predicate and function symbols respectively; let HU ... |

284 |
Decidability of second-order theories and automata on infinite trees
- Rabin
(Show Context)
Citation Context ...ontain at most one distinct variable which appears elsewhere in the rule, we obtain a new subclass of logic programs which is decidable. This strengthens the result of [1] which used a main result of =-=[10]-=- to prove, amongst other results, that unary logic programs are decidable. The most important aspect of our proof, however, is that it is constructive: it provides an algorithm to represent the approx... |

199 |
Flow analysis and optimization of lisp-like structures
- Jones, D, et al.
- 1979
(Show Context)
Citation Context ...arts. The first part of our algorithm, called SIMPLIFY, was a decision procedure for a class of set equations, that is, set equations in normal form. Earlier related work is that of Reynolds [12] and =-=[9]-=-, the latter being an independent treatise of work similar to the former. In these works, the set expressions were allowed to contain projection functions, but they were not allowed to contain the int... |

194 |
A practical framework for the abstract interpretation of logic programs
- Bruynooghe
- 1991
(Show Context)
Citation Context ...ties such as variables and arguments of predicate and function symbols) and in the area of program analysis (where information about both semantic and runtime properties is sought). See, for example, =-=[10, 3, 1, 14, 13, 6]-=-. Two main approaches are used. In one [10, 14], a closure operator similar to ff above is used. The closure here is at the level of tuples of predicate and function symbol arguments. For example, app... |

75 |
Towards a theory of types in Prolog
- Mishra
- 1984
(Show Context)
Citation Context ...ties such as variables and arguments of predicate and function symbols) and in the area of program analysis (where information about both semantic and runtime properties is sought). See, for example, =-=[10, 3, 1, 14, 13, 6]-=-. Two main approaches are used. In one [10, 14], a closure operator similar to ff above is used. The closure here is at the level of tuples of predicate and function symbol arguments. For example, app... |

74 |
E.: A type system for logic programs
- Yardeni, Shapiro
- 1990
(Show Context)
Citation Context ...ties such as variables and arguments of predicate and function symbols) and in the area of program analysis (where information about both semantic and runtime properties is sought). See, for example, =-=[10, 3, 1, 14, 13, 6]-=-. Two main approaches are used. In one [10, 14], a closure operator similar to ff above is used. The closure here is at the level of tuples of predicate and function symbol arguments. For example, app... |

67 |
Automatic computation of data set definitions
- Reynolds
- 1969
(Show Context)
Citation Context ...wo main parts. The first part of our algorithm, called SIMPLIFY, was a decision procedure for a class of set equations, that is, set equations in normal form. Earlier related work is that of Reynolds =-=[12]-=- and [9], the latter being an independent treatise of work similar to the former. In these works, the set expressions were allowed to contain projection functions, but they were not allowed to contain... |

58 |
Declaration-free type checking
- Mishra, Reddy
- 1985
(Show Context)
Citation Context ...as. It turns out that this model is essentially a fixpoint of Y P . The accuracy of the program approximation that this model defines is therefore bounded by Y P "!. In [10] and in a subsequent p=-=aper [11]-=-, algorithms were presented for solving subclasses of these set formulas. The solvability problem for the general class was left open. We now conclude this section by illustrating the differences betw... |

50 |
An Instance of Abstract Interpretation Integrating Type and Mode
- Bruynooghe, Jennsens
- 1988
(Show Context)
Citation Context ...gument-wise closure gives rise to an approximate meaning which is recursive. 5 Abstract interpretation is also widely used to infer runtime properties. 6 For efficiency most of these algorithms, e.g. =-=[2]-=-, also ignore inter-variable dependencies. Section 2: Preliminary Definitions 4 2 Preliminary Definitions See [7] for standard terminology and definitions about pure logic programs P . Let \Sigma and ... |

34 |
A Decision Procedure for a Class of Herbrand Set Constraints
- Heintze, ar
- 1990
(Show Context)
Citation Context ...mate meaning of P to be the smallest set-based model of P . 7 The satisfiability problem for conjunctions of set equations is open. A decision procedure for a restricted class of equations appears in =-=[5]-=-. Section 3: The Approximate Meaning of a Logic Program 7 An equivalent definition of the exact meaning of P is that it is the least fixpoint of the following function which maps from and into interpr... |

32 |
Complexity of flow analysis, inductive assertion synthesis and a language due to Dijkstra
- Jones, Muchnick
- 1981
(Show Context)
Citation Context ...oint is the notion of approximation which is based upon ignoring inter-variable dependencies. This basic notion is not only highly intuitive, but has been shown to be important for efficiency reasons =-=[8]-=-. For logic programs, we formalize this notion in the form of set-based models, or equivalently, in the form of models consistent with an appropriate limitation on the inferences that a program rule c... |

24 |
A type inference system for Prolog
- Xu, Warren
- 1988
(Show Context)
Citation Context |

17 |
Towards a theory of types
- Mishra
- 1984
(Show Context)
Citation Context ...een two sets of values in two different argument positions 1 . The other approach is based on abstract interpretation; approximation here is based on treating several values as one abstract value. In =-=[8]-=-, [9] and [12], which exemplify the first approach, one can view that regular unification is used (there is no abstraction on the underlying domain), but that the collection of unifiers is approximate... |

10 |
Regular prefix relations
- Angluin, Hoover
(Show Context)
Citation Context ...le), and whose body atoms each contain at most one distinct variable which appears elsewhere in the rule, we obtain a new subclass of logic programs which is decidable. This strengthens the result of =-=[1]-=- which used a main result of [10] to prove, amongst other results, that unary logic programs are decidable. The most important aspect of our proof, however, is that it is constructive: it provides an ... |

8 |
Global Optimization of Logic Programs
- Debray
- 1986
(Show Context)
Citation Context |

6 |
Tree Automata," Akademiai Kiado
- ecseg, Steinby
- 1984
(Show Context)
Citation Context ...n X = t 1 [ . . . [ t n in C, construct the productions X =) t 1 , . . ., X =) t n . Such productions, in turn, can be viewed as a description of a non-deterministic tree automaton (see, for example, =-=[4]-=-). Hence standard algorithms can be applied to determine questions such as membership, inclusion and emptyness. It can easily be proved that given an explicit form collection C, we can construct a ter... |

1 |
Semantic Types for Logic Programs", draft manuscript (submitted for publication
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context |