This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Currently, (! ! Q) does not produce the same AllMatches as (Q). There seem to be two reasons for that. First, there are duplicate StringIncludes, StringExcludes, and Matches. Second, there are Matches that are subsumed by other Matches (i.e. the former are a logical consequence of the latter). How do we handle these situations? It seems reasonable to expect that !!Q produces the same result as Q.
AllMatches returned for FTSelections are subject to a Normal Form now, by which it is insured that (! ! Q) behaves equivalent in all contexts to (Q) (see Section 4.3.1.4 Match and AllMatches Normal Form)