An application of abstract interpretation of logic programs: occur check reduction
Proc. of the European symposium on programming on ESOP 86
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
The occur-check problem revisited
Journal of Logic Programming
Foundations of deductive databases and logic programming
Unsolvable problems for SLDF resolution
Journal of Logic Programming
Handbook of theoretical computer science (vol. B)
A characterization of non-floundering logic programs
Proceedings of the 1990 North American conference on Logic programming
Average-case analysis of unification algorithms
STACS '91 Selected papers of the 8th annual symposium on Theoretical aspects of computer science
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Why the Occur-Check is Not a Problem
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
The STO-problem is NP-hard
Grammar induction as substructural inductive logic programming
Learning language in logic
Incremental execution of guarded theories
ACM Transactions on Computational Logic (TOCL) - Special issue devoted to Robert A. Kowalski
Logic programming and knowledge representation-the A-prolog perspective
Artificial Intelligence
Relating logic programming theories of actions and partial order planning
Annals of Mathematics and Artificial Intelligence
Building a knowledge base: an example
Annals of Mathematics and Artificial Intelligence
Local Conditional High-Level Robot Programs
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Representing Knowledge in A-Prolog
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part II
On the Expressibility of Stable Logic Programming
LPNMR '01 Proceedings of the 6th International Conference on Logic Programming and Nonmonotonic Reasoning
Semantics of Input-Consuming Logic Programs
CL '00 Proceedings of the First International Conference on Computational Logic
On the expressibility of stable logic programming
Theory and Practice of Logic Programming
On modular termination proofs of general logic programs
Theory and Practice of Logic Programming
Properties of Input-Consuming Derivations
Theory and Practice of Logic Programming
Verifying termination and error-freedom of logic programs with block declarations
Theory and Practice of Logic Programming
cTI: a constraint-based termination inference tool for ISO-Prolog
Theory and Practice of Logic Programming
LP with flexible grouping and aggregates using modes
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Semantics of well-moded input-consuming logic programs
Computer Languages
Meta-variables in Logic Programming, or in Praise of Ambivalent Syntax
Fundamenta Informaticae
Hi-index | 0.00 |
In most PROLOG implementations, for efficiency occur-check is omitted from the unification algorithm. This paper provides natural syntactic conditions that allow the occur-check to be safely omitted. The established results apply to most well-known PROLOG programs, including those that use difference lists, and seem to explain why this omission does not lead in practice to any complications. When applying these results to general programs, we show their usefulness for proving absence of floundering. Finally, we propose a program transformation that transforms every program into a program for which only the calls to the built-in unification predicate need to be resolved by a unification algorithm with the occur-check.