2000 character limit reached
Proving completeness of logic programs with the cut (1602.08778v1)
Published 28 Feb 2016 in cs.LO and cs.PL
Abstract: Completeness of a logic program means that the program produces all the answers required by its specification. The cut is an important construct of programming language Prolog. It prunes part of the search space, this may result in a loss of completeness. This paper proposes a way of proving completeness of programs with the cut. The semantics of the cut is formalized by describing how SLD-trees are pruned. A sufficient condition for completeness is presented, proved sound, and illustrated by examples.