- From: Jos De_Roo <jos.deroo@agfa.com>
- Date: Fri, 21 Mar 2003 21:19:49 +0100
- To: "Tim Berners-Lee <timbl" <timbl@w3.org>
- Cc: www-archive@w3.org
Tim, what I was taking was the testcase
http://www.w3.org/2000/10/swap/test/easter/easter.n3
in which math:quotient is used and running
this formula (actually the one we cloned in
http://www.agfa.com/w3c/euler/easterC.n3)
we have to have integer division throwing
away the remainder, otherwise asking the query
http://www.agfa.com/w3c/euler/easterP.n3
we wouldn't get
###
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
@prefix str: <http://www.w3.org/2000/10/swap/string#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <easterP#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
{
{?j = "8". ("2003" "19") math:remainder ?j} log:implies {("2003" "19")
math:remainder "8"} .
{?k = "20". ("2003" "100") math:quotient ?k} log:implies {("2003" "100")
math:quotient "20"} .
{?h = "3". ("2003" "100") math:remainder ?h} log:implies {("2003" "100")
math:remainder "3"} .
{?m = "5". ("20" "4") math:quotient ?m} log:implies {("20" "4")
math:quotient "5"} .
{?n = "0". ("20" "4") math:remainder ?n} log:implies {("20" "4")
math:remainder "0"} .
{?p = "1". (("20" "8").math:sum "25") math:quotient ?p} log:implies
{(("20" "8").math:sum "25") math:quotient "1"} .
{?q = "6". ((("20" "1").math:difference "1").math:sum "3") math:quotient
?q} log:implies {((("20" "1").math:difference "1").math:sum "3")
math:quotient "6"} .
{?r = "26". (((((("19" "8").math:product "20").math:sum
"5").math:difference "6").math:difference "15").math:sum "30")
math:remainder ?r} log:implies {(((((("19" "8").math:product "20").math:sum
"5").math:difference "6").math:difference "15").math:sum "30")
math:remainder "26"} .
{?s = "0". ("3" "4") math:quotient ?s} log:implies {("3" "4")
math:quotient "0"} .
{?u = "3". ("3" "4") math:remainder ?u} log:implies {("3" "4")
math:remainder "3"} .
{?v = "3". (("32" ("2" "0").math:product ("2" "0").math:product
"26".math:negation "3".math:negation).math:sum "7") math:remainder ?v}
log:implies {(("32" ("2" "0").math:product ("2" "0").math:product
"26".math:negation "3".math:negation).math:sum "7") math:remainder "3"} .
{?w = "0". (("8" ("11" "26").math:product ("22"
"3").math:product).math:sum "451") math:quotient ?w} log:implies {(("8"
("11" "26").math:product ("22" "3").math:product).math:sum "451")
math:quotient "0"} .
{?x = "4". (("26" "3" ("7" "0").math:product.math:negation
"114").math:sum "31") math:quotient ?x} log:implies {(("26" "3" ("7"
"0").math:product.math:negation "114").math:sum "31") math:quotient "4"} .
{?z = "19". (("26" "3" ("7" "0").math:product.math:negation
"114").math:sum "31") math:remainder ?z} log:implies {(("26" "3" ("7"
"0").math:product.math:negation "114").math:sum "31") math:remainder "19"}
.
{?day = "20". ("19" "1") math:sum ?day} log:implies {("19" "1") math:sum
"20"} .
?x = "20". "2003" :hasEasterOnDay ?x} log:implies
{"2003" :hasEasterOnDay "20"} .
{
{?j = "8". ("2003" "19") math:remainder ?j} log:implies {("2003" "19")
math:remainder "8"} .
{?k = "20". ("2003" "100") math:quotient ?k} log:implies {("2003" "100")
math:quotient "20"} .
{?h = "3". ("2003" "100") math:remainder ?h} log:implies {("2003" "100")
math:remainder "3"} .
{?m = "5". ("20" "4") math:quotient ?m} log:implies {("20" "4")
math:quotient "5"} .
{?n = "0". ("20" "4") math:remainder ?n} log:implies {("20" "4")
math:remainder "0"} .
{?p = "1". (("20" "8").math:sum "25") math:quotient ?p} log:implies
{(("20" "8").math:sum "25") math:quotient "1"} .
{?q = "6". ((("20" "1").math:difference "1").math:sum "3") math:quotient
?q} log:implies {((("20" "1").math:difference "1").math:sum "3")
math:quotient "6"} .
{?r = "26". (((((("19" "8").math:product "20").math:sum
"5").math:difference "6").math:difference "15").math:sum "30")
math:remainder ?r} log:implies {(((((("19" "8").math:product "20").math:sum
"5").math:difference "6").math:difference "15").math:sum "30")
math:remainder "26"} .
{?s = "0". ("3" "4") math:quotient ?s} log:implies {("3" "4")
math:quotient "0"} .
{?u = "3". ("3" "4") math:remainder ?u} log:implies {("3" "4")
math:remainder "3"} .
{?v = "3". (("32" ("2" "0").math:product ("2" "0").math:product
"26".math:negation "3".math:negation).math:sum "7") math:remainder ?v}
log:implies {(("32" ("2" "0").math:product ("2" "0").math:product
"26".math:negation "3".math:negation).math:sum "7") math:remainder "3"} .
{?w = "0". (("8" ("11" "26").math:product ("22"
"3").math:product).math:sum "451") math:quotient ?w} log:implies {(("8"
("11" "26").math:product ("22" "3").math:product).math:sum "451")
math:quotient "0"} .
{?x = "4". (("26" "3" ("7" "0").math:product.math:negation
"114").math:sum "31") math:quotient ?x} log:implies {(("26" "3" ("7"
"0").math:product.math:negation "114").math:sum "31") math:quotient "4"} .
{?z = "19". (("26" "3" ("7" "0").math:product.math:negation
"114").math:sum "31") math:remainder ?z} log:implies {(("26" "3" ("7"
"0").math:product.math:negation "114").math:sum "31") math:remainder "19"}
.
{?day = "20". ("19" "1") math:sum ?day} log:implies {("19" "1") math:sum
"20"} .
?y = "4". "2003" :hasEasterOnMonth ?y} log:implies
{"2003" :hasEasterOnMonth "4"} .
###
and easter would not be on April 20 this year :-)
On the other hand, for a testcase like
http://www.agfa.com/w3c/2002/10/medicad/op/lldmP.n3
implying
http://www.agfa.com/w3c/2002/10/medicad/op/lldmC.n3
we have math:quotient with double objects as in
http://www.agfa.com/w3c/2002/10/medicad/op/lldmE.n3
or as in your
http://www.agfa.com/w3c/2002/10/medicad/op/lldmT.n3
where I guess it are float objects (which is fine).
And then I was not sure what math:integerQuotient
meant, but I now see that it is fine with your
[[[
My feeling is that integer division should,
in an ideal world, give a rational, but failing that
the best fallback is a float.
]]]
-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Tim
Berners-Lee To: Jos De_Roo/AMDUS/MOR/Agfa-NV/BE/BAYER@AGFA
<timbl@w3.org> cc: www-archive@w3.org
Subject: Re: swap questions
2003-03-21
07:47 PM
On Wednesday, Mar 19, 2003, at 19:00 US/Eastern, Jos De_Roo wrote:
> 1/ http://www.w3.org/2000/10/swap/doc/Rules.html
> is showing up nicely, but using IE6 we're getting
>
> [[[
>
> The XML page cannot be displayed
>
>
> Cannot view XML input using XSL style sheet. Please
> correct the error and then click the Refresh button,
> or try again later.
>
>
> Parameter entity must be defined before it is used.
> Error processing resource
> 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'.
> Line 148, Position 2
>
>
> %xhtml-prefw-redecl.mod;
> -^
>
>
> ]]]
>
>
> 2/ w.r.t. easter.n3 we were implementing
> log:quotient as if when integers were given
> (i.e. when we have no dots in the numbers)
> we make an integer division, but I now see
> that you have a log:integerQuotient so I
> guess we maybe should use that?
My feeling is that integer division should,
in an ideal world, give a rational, but failing that
the best fallback is a float.
Cwm doesn't currently distinguish between
different classes of number, except through whatever
happens with python. It
Integer division thowing away the remainder
seems to me to be something separate - but maybe
I am out of sync with common uses of numbers
> -- ,
> Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Friday, 21 March 2003 15:20:12 UTC