20 citations found. Retrieving documents...
D. A. Plaisted. The occur-check problem in prolog. In International Symposium on Logic Programming, pages 272--281. IEEE, 1984.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Logical Basis for the Automation of Reasoning: Case Studies - Wos, Veroff, Pieper   (Correct)

.... occurs check (for unification in most logic programming languages) in contrast to its required presence in the clause language paradigm. The absence of the occurs check 19 probably contributes to the speed of logic programming, but that speed comes at a cost: soundness is not guaranteed (see [Plaisted, 1984]) In summary, we conjecture that it will take more than minor extensions to the logic programming paradigm to produce the power needed for effective automated reasoning. After all, if one considers how impressively mathematicians and logicians apply logical reasoning to questions and problems, ....

D. A. Plaisted. The occur-check problem in Prolog. New Generation Computing, 2(4):309--22, 1984.


Freeness Analysis in the Presence of Numerical.. - Dumortier, Janssens.. (1993)   (6 citations)  (Correct)

....b n X n = b n 1 where the b i are arbitrary coe#cients. With an adequate choice of the b i , a linear combination can be obtained such that each X i becomes possibly non free. Making the distinction between new and old information in the analysis of logic programs is applied previously by Plaisted [25] and also by Mulkers [22, 23] An implementation Our analysis has been implemented within the abstract interpretation framework of Bruynooghe [1] As an example, we show the results obtained for the sumlist 2 program with an initial call pattern sumlist(a, f ) indicating that the first argument ....

D. A. Plaisted. The occur-check problem in Prolog. J. New Generation Computing, 2(4):309--322, 1984.


Global Analysis of Constraint Logic Programs - Banda, Hermenegildo.. (1996)   (7 citations)  (Correct)

....in Table are not pairs but elements of Cons F m and that AC j old does not contribute to AC j exit . For further details, the reader is referred to Dumortier [1994] Making the distinction between new and old information in the analysis of logic programs has been applied previously by Plaisted [1984] and by Mulkers [1993] and Mulkers et al. 1990; 1994] Example 7.2.3 (F m Analysis for the sumlist Program) The initial call pattern of sumlist(A; B) is Phi fAg Psi , which is also the call pattern of the recursive call (the abstract information written out is the union of the old and ....

Plaisted, D. A. 1984. The occur-check problem in Prolog. New Gen. Comput. 2, 4, 309--322. Also in Proceedings of the 1984 International Symposium on Logic Programming.


Set-Sharing is Redundant for Pair-Sharing - Bagnara, Hill, al. (1997)   (11 citations)  (Correct)

....checks, it can be guaranteed that they do not share any variable. This implies the absence of binding conflicts at run time, that is, it will never happen that the processes associated to the two atoms try to bind the same variable. Another significant application is known as occur check reduction [28,53,55]. It is well known that many implemented logic programming languages (in particular, almost all Prolog systems) omit the occur check from the unification procedure. Occur check reduction amounts to identifying the unifications where such omission is safe, and, for this purpose, information on the ....

D. A. Plaisted. The occur-check problem in Prolog. New Generation Computing, 2(4):309--322, 1984.


Set-Sharing is Redundant for Pair-Sharing - Bagnara, Hill, Zaffanella (1997)   (11 citations)  (Correct)

....checks, it can be guaranteed that they do not share any variable. This implies the absence of binding con icts at run time, that is, it will never happen that the processes associated to the two atoms try to bind the same variable. Another signi cant application is known as occur check reduction [28,53,55]. It is well known that many implemented logic programming languages (in particular, almost all Prolog systems) omit the occur check from the uni cation procedure. Occur check reduction amounts to identifying the uni cations where such omission is safe, and, for this purpose, information on the ....

D. A. Plaisted. The occur-check problem in Prolog. New Generation Computing, 2(4):309-322, 1984.


An Algebraic Approach to Sharing Analysis of Logic Programs - Codish, Lagoon, Bueno (1997)   (5 citations)  (Correct)

....and groundness information, often called sharing information in the logic programming community, provide the basis for a wide range of program optimizations and other useful applications. Such information can be used to identify circumstances in which the occur check may be safely dispensed with [21, 23] or to determine run time goal independence which can be used to eliminate costly run time checks in and parallel execution of logic programs [20, 16, 14] In the context of concurrent logic programming languages, sharing information can be used to identify single writer properties (e.g. ....

D. A. Plaisted. The occur-check problem in Prolog. In Proceedings of the International Symposium on Logic Programming, pages 272--280, Atlantic City, 1984. IEEE, Computer Society Press.


Static Inference of Modes and Data Dependencies in Logic Programs - Debray (1989)   (72 citations)  (Correct)

.... of control strategies for parallel logic programs using mode and data dependency information [5] Other related work includes flow analysis of logic programs to detect situations where cyclic terms can be created during unification, which involves reasoning about the aliasing behavior of programs [20, 22]. The work described in this paper is based on the ideas introduced in [6] but with several important innovations. The most significant of these is the treatment of aliasing introduced here: in retrospect, the safety criteria used to handle aliasing in [6] while sound, were both ad hoc and ....

D. Plaisted, The Occur-check Problem in Prolog, in Proc. 1984 Int. Symposium on Logic Programming, IEEE Computer Society, Atlantic City, New Jersey, Feb. 1984, pp. 272-280.


Verification Tools in the Development of Provably Correct.. - Rao, Pandya, Shymasunder (1993)   (3 citations)  (Correct)

....obviously not unifiable [7] Two different approaches have been proposed in the literature for handling the problem of occur check. 1) To find the set of points in the execution of the program at which occur check test has to performed (to avoid unsound behavior) dynamically [3] or statically [20, 23] and insert code for occur check at those points. This involves complicated global local analysis. 2) To give sufficient conditions on the programs and queries, so that occur check test can be omitted without getting unsound behavior [6, 7, 2, 16] Such programs are called NSTO (not subjected to ....

D. A. Plaisted (1984), The Occur-check Problem in Prolog, in Proc. Intl. Symp. on Logic Programming, pp. 272-280.


PARTHEO: A High Performance Parallel Theorem Prover - Schumann, Letz (1990)   (26 citations)  (Correct)

....Optionally, we offer the more sophisticated Corbin algorithm [CM83] which has quadratic complexity. To reduce the number of occur checks a simple heuristic is employed: an occur check is omitted in extension steps into clauses for each first occurrence of a variable inside the head (compare also [Pla84] As the SAM had to be changed only very little to be integrated into the parallel PARTHEO system all features available in the sequential machine are also available in PARTHEO, e.g. global variables. 6 Performance Measurements To get representive speed up results of the system, we made ....

D. A. Plaisted. The Occur--check Problem in Prolog. New Generation Computing, 2:309--322, 1984.


Compiling A Default Reasoning System into Prolog - David Poole (1990)   (21 citations)  (Correct)

....purposes. 7.1 Sound Unification The theorem prover we have given here is not sound because of the lack of the occurs check in Prolog unification. We have not concentrated on it here as it is well covered by Stickel [39, 40] Like Stickel, the Theorist implementation uses the idea of Plaisted [25]. When compiling rules, if there are two occurrences of a variable in the head of a clause, they are made into different variables and are unified at run time, with an occurs check. For the common sense reasoning examples we have been using, the occurs check has not been found to be a problem. ....

D. A. Plaisted, "The occur-check problem in Prolog", New Generation Computing, 2 (1984), 309-322.


Analysis and Transformation of Logic Programs - Post (1994)   (Correct)

....the derivation, can help the programmer find subtle bugs at compile time, rather than at run time (by chance) Type information can also guide the compiler in replacing costly operations with cheaper ones, as well as assist in other forms of transformations. Occur check The so called occur check [Pla84, Bee88] in unification, that is, verifying that the substitution that makes two terms equal does not contain a circular binding, is usually omitted in Prolog systems for efficiency reasons. This may lead to infinite loops or even incorrect answers. Therefore, a static analyzer might be used to ....

D. A. Plaisted. The Occur-Check Problem in Prolog. In Proc. International Symposium on Logic Programming, pages 272--280, Atlantic City, 1984. IEEE, Computer Society Press.


Potentiality of Parallelism in Logic - Kurfeß (1991)   (Correct)

....to unification competition described above: it seems feasible, but with current techniques probably does not result in substantial advantages. Occur Check The task of the occur check is to identify situations where a term is substituted by a subterm of itself, resulting in cyclic substitutions [Plaisted, 1984]. Whereas it is possible to define a semantics which allows the occurrence of infinite substitutions [Colmerauer, 1982] or in many situations to just neglect potential problems and omit an occur check (as in many Prolog implementations) there are cases where cyclic substitutions should not be ....

Plaisted, D. (1984). The Occur-Check Problem in Prolog. New Generation Computing, 2:309--322.


Logic Programming, Abduction and Probability: a top-down.. - David Poole (1993)   (2 citations)  (Correct)

....overview of a meta interpreter. Hopefully it is enough to be able to build a system. Our implementation contains more bells and whistles, but the core of it is here. N.B. This interpreter does not do an occurs check. Thus it is not sound. We consider this is an important problem, but the solution [17] is orthogonal to the issues in this paper, and will complicate the presentation. A.1 Prove prove(G; T 0 ; T 1 ; C 0 ; C 1 ; U) means that G can be proven with current assumptions T 0 , resulting in assumptions T 1 , where C i is the probability of T i , and U is the set of remaining subgoals. ....

D. A. Plaisted. The occur-check problem in Prolog. New Generation Computing, 2:309--322, 1984.


On the Occur-check Free Prolog Programs - Apt, Pellegrini (1994)   (23 citations)  (Correct)

....for the efficiency reasons. This omission affects the unification algorithm and introduces a possibility of divergence or may yield incorrect results. This is obviously an undesired situation. This problem was studied in the literature under the name of the occur check problem (see e.g. Plaisted [22] and Deransart and Maluszynski [14] The aim of this paper is to provide easy to check syntactic conditions which ensure that for Prolog programs the occur check can be safely omitted. We use here a result of Deransart, Ferrand and T eguia [13] and build upon it within the context of moded ....

....of these results, that involved two different modes, was needed. Two other approaches to the subject of proving occur check freedom were proposed in the literature. One is based on the abstract interpretations and another uses the attribute grammars. The first approach originated with Plaisted [22] and was further developed in S ndergaard [27] S ndergaard used an abstract interpretation in which the information on the possibility of creating a sharing of a variable or forming multiple occurrences of the same variable (called spawning) is maintained. Then using abstract unification this ....

D.A. Plaisted. The occur-check problem in Prolog. In Proc. International Conference on Logic Programming, pages 272--280. IEEE Computer Science Press, 1984.


A Comparison of Three Occur-Check Analysers - Crnogorac, Kelly, Søndergaard (1996)   (15 citations)  (Correct)

....query or query pattern) never invokes the occur check when doing unification. To restrict the cost of such tests to preprocessing or compile time, we consider here only static methods (for a dynamic method, see Beer [4] Work on static analysis for occur check elimination started with Plaisted s [18] suggestion for a family of increasingly precise analyses. The idea was to propagate information about how variables would be used at runtime, in particular ffl groundness : whether a given variable would be bound to a ground term, ffl pairwise sharing : whether two given variables might be ....

....the output positions. No such guarantee exists for the dk positions. Thus, we need to make sure that all heads of clauses are collinear in their dk positions. The following example illustrates these concepts and shows the outcome of the algorithm that generates the optimal moding [5] Example 3. 7 [18] Consider the program q(X,Y) q(X,Y) ancestor(X,Y) ancestor(Y,X) ancestor(father(X) X) ancestor(mother(X) X) ancestor(X,X) The analysis infers these combinations: ancestor(dk,dk)and q(output,output) Note that q(output,dk) q(dk,output) and q(dk,dk) are also valid combinations, but the ....

[Article contains additional citation context not shown here]

D. A. Plaisted. The occur-check problem in Prolog. New Generation Computing, 2(4):309--322, 1984.


A Graphical User Interface for SETHEO - Schumann, Moser (1993)   (Correct)

....Optionally, we offer the more sophisticated Corbin algorithm [CB83] which has quadratic complexity. To reduce the number of occur checks a simple heuristic is employed: an occur check is omitted in extension steps into clauses for each first occurrence of a variable inside the head (compare also [Pla84] In the compilation phase the clauses of the input formula are translated into contrapositives. Optionally, syntactical pruning constraints are inserted. For optimization purposes, the clauses and literals are reordered and a connection graph, expressing all unifiable connections between the ....

D. A. Plaisted. The Occur--check Problem in Prolog. New Generation Computing, 2:309--322, 1984.


Set-Sharing is not always redundant for Pair-Sharing - Bueno, Banda   (Correct)

No context found.

D. A. Plaisted. The occur-check problem in prolog. In International Symposium on Logic Programming, pages 272--281. IEEE, 1984.


An Algebraic Approach to Sharing Analysis of Logic Programs - Codish, Lagoon, Bueno (1998)   (5 citations)  (Correct)

No context found.

D. A. Plaisted. The occur-check problem in Prolog. In International Symposium on Logic Programming, pages 272--280. Atlantic City, IEEE Computer Society, February 1984.


An Algebraic Approach to Sharing Analysis of Logic Programs - Codish, Lagoon, Bueno (1997)   (5 citations)  (Correct)

No context found.

D. A. Plaisted. The occur-check problem in Prolog. In Proceedings of the International Symposium on Logic Programming, pages 272--280, Atlantic City, 1984. IEEE, Computer Society Press.


A Typed Functional Language Based on Sequent Calculus - Tarver (1994)   (Correct)

No context found.

Plaisted D. The Occur-Check Problem in Prolog, in New Generation Computing, (1984).

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