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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--