[net.lang.prolog] prolog usage query

jce@floyd.UUCP (06/30/83)

I am a new prolog user, and have what may be a fairly simple question.
As I understand it, prolog facts and assertions (i.e. ":-" stuff)
are implicitly universally quantified, that is all unbound variables
in a fact or assertion are universally quantified.  Also, queries are
implicitly existentially quantified in the sense that a query like
?-foo(X) says does there exist an X such that foo(X).  How does one
state existentially quantified facts and assertions, and how does
one make a universally quantified query?  In other words, I'd like
to ask something like

?- (A X) { [foo(X), bar(X)] :- (E Y) [ baz(X,Y) ] }

where "A" is "forall" and "E" is "exists".  Do I have to write
a grammar that recognizes such things and goes through the six
step reduction to clausal form, then calls the resulting clauses
as a query?  If so, does anybody have such a thing that they're
willing to give away?

Thanks.

John Eldridge	floyd!clyde!jce
Bell Labs
Whippany, NJ
(201)386-6233