Subject: Re: [xsl] () eq () vs () = () From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> Date: Mon, 3 Oct 2011 16:15:11 +0200 |
Just think of the universal quantifier "forall" (every $x in X satisfies P) as a conjunction over zero or more elements. Its initialization must be true (as the initial value for a product must be 1). Therefore, the "forall" for an empty set is true. The quantifier "exists" (some $x in X satisfies P) is a disjunction over elements, and its initialization must be false (as the initial value for a sum must be 0). Hence, the "exists" for an empty set X is false. If you negate a "forall" over an empty set you get the "exists" for the negated proposition (de Morgan's rule), still over the empty set, which is false. -W On 3 October 2011 15:10, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: > > > 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] () eq () vs () = (), Florent Georges | Thread | Re: [xsl] () eq () vs () = (), Andrew Welch |
Re: [xsl] () eq () vs () = (), Geert Bormans | Date | Re: [xsl] () eq () vs () = (), Florent Georges |
Month |