list comprehension problem
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Sun Nov 1 17:52:10 EST 2009
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
More information about the Python-list
mailing list