A Note on Occur-Check

@article{Drabent2021ANO,
  title={A Note on Occur-Check},
  author={Wlodzimierz Drabent},
  journal={ArXiv},
  year={2021},
  volume={abs/2109.08278}
}
  • W. Drabent
  • Published 17 September 2021
  • Computer Science
  • ArXiv
Most known results on avoiding the occur-check are based on the notion of “not subject to occurcheck” (NSTO). It means that unification is performed only on such pairs of atoms for which the occur-check never succeeds in any run of a nondeterministic unification algorithm. Here we show that this requirement is too strong. We show how to weaken it, and present some related sufficient conditions under which the occur-check may be safely omitted. We show examples for which the proposed approach… Expand
On correctness and completeness of an n queens program
  • W. Drabent
  • Computer Science
  • Theory and Practice of Logic Programming
  • 2021
TLDR
This paper explains the Prolog program for the n queens problem in a declarative way and provides proofs of its correctness and completeness and presents an example of precise declaratives reasoning about the semantics of a logic program. Expand

References

SHOWING 1-10 OF 19 REFERENCES
SLD-resolution without occur-check, an example
TLDR
It is proved that the occur-check is not needed for a certain definite clause logic program, independently from the selection rule, and it is shown that it will be correctly executed under Prolog without occur- check. Expand
On the occur-check-free PROLOG programs
TLDR
This paper provides natural syntactic conditions that allow the occur-check to be safely omitted from the unification algorithm, and proposes 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 occurs-check. Expand
Correctness of Unification Without Occur Check in Prolog
TLDR
A simple test that guarantees that unification without occur check is sound in programs satisfying the conditions of the test is presented. Expand
On correctness and completeness of an n queens program
  • W. Drabent
  • Computer Science
  • Theory and Practice of Logic Programming
  • 2021
TLDR
This paper explains the Prolog program for the n queens problem in a declarative way and provides proofs of its correctness and completeness and presents an example of precise declaratives reasoning about the semantics of a logic program. Expand
Verification of Logic Programs with Delay Declarations
Logic programs augmented with delay declarations form a higly expressive programming language in which dynamic networks of processes that communicate asynchronously by means of multiparty channelsExpand
Logic + control: On program construction and verification
  • W. Drabent
  • Computer Science, Mathematics
  • Theory and Practice of Logic Programming
  • 2017
TLDR
This paper presents an example of formal reasoning about the semantics of a Prolog program of practical importance (the SAT solver of Howe and King), and shows that the paradigm of semantics-preserving program transformations may be not sufficient. Expand
Fundamental Properties of Infinite Trees
TLDR
A synthesis of various aspects of infinite trees, invcstigatcd bc diIlt*ic*nt ,tuthor\ III differenr contlbxts is presented and hopes to he a unifying step towards a theory of infinite trct. Expand
A pearl on SAT and SMT solving in Prolog
TLDR
A succinct SAT solver is presented that exploits the control provided by delay declarations to implement watched literals and unit propagation and its elegant use of Prolog constructs is presented as a programming pearl. Expand
Do Logic Programs Resemble Programs in Conventional Languages?
TLDR
This paper attempts to formalize the concept of a conventional logic program to check how often Prolog programs fall in a restricted class of conventional programs and ascertain which programming techniques result in programs falling outside this class. Expand
Logic Programming with Prolog
TLDR
This second edition of Logic Programming with Prolog is revised to be fully compatible with SWI-Prolog, a popular multi-platform public domain implementation of the language. Expand
...
1
2
...