A Proof Procedure for Functional First Order Logic Programs with Non-Deterministic Lazy Functions and Built-in Predicates.

Nicolas Peltier · 2004

We present a proof procedure for functional first-order logic programs. The programs we consider allow first-order goals (including disjunctions, conjunctions, negations, and quantifications on elements of the domain). Atoms are either built-in statements or reduction statements of the form t → s, meaning that t is reducible to s. Call-time choices are used and the functions are non-deterministic and non-strict, which allows to use a form of lazy narrowing for pruning the search space and avoiding divergence in some cases. 1

Read the paper · More papers on PaperTik