An application of abstract interpretation of logic programs: occur check reduction
Proc. of the European symposium on programming on ESOP 86
The occur-check problem revisited
Journal of Logic Programming
Foundations of deductive databases and logic programming
GeoS '09 Proceedings of the 3rd International Conference on GeoSpatial Semantics
Hi-index | 0.00 |
It is well-known that omission of the occur check in unification leads to unsound Prolog systems. Nevertheless, most Prolog systems omit the occur check because this makes unification much faster and unsoundness allegedly seldom manifests itself. We revisit the occur check problem and point to two aspects that have previously received no attention. Firstly, "unification without the occur check" is ambiguous, and in practice, Prolog systems vary markedly in their reaction to programs having occur check problems. Secondly, even very simple program transformations are unsafe for pure Prolog when the occur check is omitted. We conclude that the occur check problem is important, and in particular, that the current efforts to standardize Prolog should address it.