Detecting determinacy in prolog programs

  • Authors:
  • Andy King;Lunjin Lu;Samir Genaim

  • Affiliations:
  • University of Kent, Canterbury, UK;Oakland University, Rochester;Universidad Politécnica de Madrid, Spain

  • Venue:
  • ICLP'06 Proceedings of the 22nd international conference on Logic Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In program development it is useful to know that a call to a Prolog program will not inadvertently leave a choice-point on the stack. Determinacy inference has been proposed for solving this problem yet the analysis was found to be wanting in that it could not infer determinacy conditions for programs that contained cuts or applied certain tests to select a clause. This paper shows how to remedy these serious deficiencies. It also addresses the problem of identifying those predicates which can be rewritten in a more deterministic fashion. To this end, a radically new form of determinacy inference is introduced, which is founded on ideas in ccp, that is capable of reasoning about the way bindings imposed by a rightmost goal can make a leftmost goal deterministic.