> It's a common misunderstanding about universal quantification. The
> proposition
>
> every S satisfies P
>
> is always true when S is empty, regardless of P.
>
> For example, the statement "every hotel on St Kilda is fully booked" is
> true, as is the statement "every hotel on St Kilda has vacancies" (there are
> no hotels on St Kilda).
Heh, nice. So:
every hotel on St Kilda is fully booked, yet some hotel on St Kila
isn't fully booked.
In a potential summary then:
() eq () returns () because... it's a special case where the
atomisation of () returns () and not the empty string?
() = () returns false because its based on 'some', and there are no
items to compare, so false is implied.
deep-equal((), ()) returns true because its based on every, which in
universal quantification is a "vacuous truth" (I googled it :)
--
Andrew Welch
http://andrewjwelch.com
|