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