# int/float disjointness

From: Sandro Hawke <sandro@w3.org>
Date: Wed, 21 Jan 2009 09:14:42 -0500

Message-ID: <13694.1232547282@ubehebe>
```

We agreed at F2F 12 to have the value spaces of numeric types be
disjoint [1], so that numeric builtins could use the normal math
libraries.  We implicitely agreed to Dave's three test cases:

> RS1: [3]
>    ex:a = "1"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:double))
> entails:
>    ex:p("1.0000000001"^^xsd:double)
>
> but:
>
> RS2:
>    ex:a = "10000000"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:double))
> entails:
>    ex:p("10000000"^^xsd:double)
>
> what's more the XPath type promotion rules mean that:
>
> RS3:
>    ex:a = "10000000"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:decimal))
> also entails:
>    ex:p("10000000"^^xsd:double)

a few other test cases.  In particular, I think in RIF Core, for the
empty ruleset:

"1"^^xsd:decimal = "1"^^double    IS NOT entailed

but

pred:numeric-equal("1"^^xsd:decimal, "1"^^double)  IS entailed

Agreed?

The question then, for OWL, is whether it's possible to still have

"1"^^xsd:decimal owl:sameAs "1"^^double.

be entailed.  Can we still allow that?  I think we could implement it in
OWL-RL, using datatype guards and builtins, as above.

I'm trying to figure out whether our "push back" on OWL on this subject
actually changes their implementations, or is really just about how they
conceptualize the language.

-- Sandro

[1] http://www.w3.org/2005/rules/wg/meeting/2009-01-15#resolution_10
```
Received on Wednesday, 21 January 2009 14:14:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:00 GMT