On Oct 14, 5:17 pm, Zuhair <zaljo...
> In quantifier free FOL, you don't have any symbol representing
> universal quantification or existential quantification. However there
> is "Quantification" of course, and this can be seen by noticing that
> the variables are "ranging" over a domain! and this is a form of
> subtle quantification by itself, and it is universal in a sense. But
> still there is no explicit quantifier symbol to represent this subtle
> kind of universal quantification, so for example you cannot use
> negation in a manner as to derive existential quantification, the
> absence of symbols for quantification (i.e. quantifiers) does affect
> the machinery of the language, it WEAKENS it further, for instance, as
> you mentioned, you cannot speak of existential quantification, unless
> perhaps by some very twisted ways in some particular instances like by
> using constants or functions, or (Skolem_Herbrand)ization, etc....
> I hope that helps
Right pure PROLOG is weaker than quantified logic as a VAR is used to
find a value that EXISTS over ALL possible solutions.
SUBSET is impossible in pure PROLOG, but simply by adding
then full FOL quantification is possible.
> You have to use BAGOF and LIST RECURSION (for SUBSET)
Or negation as failure:
forall x(male(x) <-> rower(x)
?- \+ (male(X), \+ rower(X)), \+ (rower(Y), \+ male(Y)).
Some Prolog systems (*) even provide a shortcut:
forall(X,Y) :- \+ (X, \+ Y).
?- forall(male(X),rower(X)), forall(rower(Y), male(Y)).