On Sun, 01 Nov 2009 21:32:15 +0100, Mick Krippendorf wrote: > When we want find out if two sets s1 and s2 are the same we only need to > look at their extensions, so given: > > (i s1)(Ay)(y e s1 <-> y is a fire-breathing animal) (i s2)(Ay)(y e s2 > <-> y is a real number equal to sqrt(-1)) > > we only need to find out if: > > (Ax)(x is a fire-breathing animal <-> x is a real number equal to > sqrt(-1)). > > And since there are neither such things, it follows that s1 = s2.
That assumes that all({}) is defined as true. That is a common definition (Python uses it), it is what classical logic uses, and it often leads to the "obvious" behaviour you want, but there is no a priori reason to accept that all({}) is true, and indeed it leads to some difficulties: All invisible men are alive. All invisible men are dead. are both true. Consequently, not all logic systems accept vacuous truths. http://en.wikipedia.org/wiki/Vacuous_truth -- Steven -- http://mail.python.org/mailman/listinfo/python-list