single solution predicates and deductive DBs

Don Smith dsmith at cs.waikato.ac.nz
Wed Jul 15 19:07:03 AEST 1998


Hello,

A while ago we discussed single-solution predicates on this list.     
Below are some references about work in the deductive database 
community on the similar topic of "choice operators."

In short, if you're looking for a respectable semantics for single
solution predicates, you can find one in these works.  One basic idea
is that in a program with negation there are often multiple, minimal 
models.   The semantics for a single-solution predicate is to
asymmetrically choose one of those models.

To illustrate, suppose you have a procedure

  p(a).
  p(b).

and you want to choose one solution arbitrarily. Rewrite the program
as

  p(X):- p_aux(X),not exists(Y, (Y\=X,p_aux(Y))).
  p_aux(a).
  p_aux(b).

This program has two minimal models. Choose one as your solution.

Asymmetry is beautiful!

    Don (dsmith at cs.waikato.ac.nz)
------------------------------------------------------------------
Domenico Sacca, Carlo Zaniolo:
Non-Determinism in Deductive Databases. DOOD 1991: 129-146

Gerge Greco, Carlo Zaniolo, Sumit Ganguly: Greedy by Choice. PODS 1992: 105-113

Luca Corciulo, Fosca Giannotti, Dino Pedreschi, Carlo Zaniolo:
Expressive Power of Non-Deterministic Operators for Logic-based Languages.
Workshop on Deductive Databases and Logic Programming 1994: 27-40

Programming with Non-determinism in Deductive Databases", Annals of Mathematics
     and Artificial Intelligence, to appear.  Zaniolo.

"Deterministic and Non-Deterministic Stable Models", Journal of Logic and
     Computation, to appear.  Zaniolo.




More information about the users mailing list