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