[comp.lang.prolog] deterministic predicates

zs@mulga.oz (Zoltan Somogyi) (04/28/88)

voda@ubc-cs (Paul Voda) writes:
> [In Trilogy] the system checks that all calls to 'preds', i.e. to the
> true backtracking predicates are enclosed in an all (min, one) solution
> construct, that there are no values returned through an "or" and
> that there are no symbolic (logic) variables with constraints used
> (except enclosed in all,min one constructs).

I have a different view: determinacy should be a property of the predicate
and its mode[s]. I have a paper on a closely related subject which dwells
on this issue at length. It is

Zoltan Somogyi: "Stability of logic programs: how to connect don't-know
nondeterministic logic programs to the outside world", Technical Report 87/11,
Department of Computer Science, University of Melbourne, Australia.

If you want a copy, drop me a line.

						Zoltan.

debray@arizona.edu (Saumya Debray) (04/29/88)

Several people have looked at the connection between predicate determinacy 
and modes.  Some references that come to mind:

- U. S. Reddy, "Transformation of Logic Programs into Functional Programs",
  Proc. SLP-84, Atlantic City, NJ, Feb. 1984.

- C. S. Mellish, "Some Global Optimizations for a Prolog Compiler",
  J. Logic Programming vol 2 no. 1, Apr 1985.

- S. K. Debray and D. S. Warren, "Detection and Optimization of Functional
  Computations in Prolog", Proc. 3d ICLP, London, Jul 1986.

Also, a paper by Gert Smolka:

- G. Smolka, "Making Control and Data Flow in Logic Programs Explicit",
  Proc. 1984 Symp. on Lisp and Func. Prog., Austin, TX, Aug. 1984.

may be relevant (it's been so long since I read the paper I've forgotten
if he treats this issue explicitly, but it's a good paper that people ought
to read anyway).
-- 
Saumya Debray		CS Department, University of Arizona, Tucson

     internet:   debray@arizona.edu
     uucp:       {allegra, cmcl2, ihnp4} !arizona!debray