[Bug 6160] [FS] 7.1.1 The fs:convert-operand function: incorrect type rules


--- Comment #3 from Michael Dyck <jmdyck@ibiblio.org>  2008-10-24 18:39:17 ---
My proposed new rule has the premise
    prime(Type0) = AtomicTypeName1 | ... | AtomicTypeNameN
and in your second inference above, when Type0 is bound to 'empty', you've
used the fact (from FS 8.4) that
    prime(empty) = none
to bind N to 1 and AtomicTypeName1 to 'none'.

However, the thing to note is that 'none' isn't an AtomicTypeName, rather
it's a concrete way of denoting "a choice with zero alternatives". So the
proper way to use
    prime(empty) = none
to satisfy the given premise is to bind N to 0. Whereupon:
 -- the "convert_operand against" premises disappear,
 -- TypeR is bound to 'none', and
 -- the type inferred for the convert-operand() call is
        none . quantifier(empty)
     =  none . ?
     =  empty

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Friday, 24 October 2008 18:39:26 UTC