Re: [xsl] () eq () vs () = ()

Subject: Re: [xsl] () eq () vs () = ()
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Mon, 3 Oct 2011 14:10:40 +0100
> 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

Current Thread