Re: Using MathML to describe the relationships between units-of-measure

On Wed, 23 Jul 2003, Roger L. Costello wrote:

> Date: Wed, 23 Jul 2003 12:02:29 -0400
> From: Roger L. Costello <costello@mitre.org>
> To: www-math@w3.org
> Subject: Re: Using MathML to describe the relationships between
>     units-of-measure
> Resent-Date: Wed, 23 Jul 2003 12:02:33 -0400 (EDT)
> Resent-From: www-math@w3.org
>
> Hi Bill,
>
> Thanks a lot!
>
> The <approx/> element looks potentially useful as a way of
> expressing tolerance.
>
> In the example that you show:
>
> <approx definitionURL="http://www.openmath.org/cd/relation2#approx"/>
> <cn>-2</cn> <!-- the val is the exp of 10 -->
>
> What does this mean?  Does it mean "All kilometer/mile pairs such that
> the value is within a tolerance of +/- 0.01?

As I mentioned in my e-mail, such an approx symbol does not exist as yet,
therefore it's semantics are not defined, it would be up to whoever
defines this symbol whether the -2 first child was supposed to mean
+/-0.01, or +/- 0.01 (in binary) etc.

>
> I believe that a tolerance (approx) value shouldn't be explicitly specified
> within the MathML.
> The reason is that for large kilometer/mile numbers 0.01 is a much smaller
> percent than
> for small kilometer/mile numbers, e.g,
>
>    tolerance = 0.01 for kilometer=6300, mile=3914 is a much smaller percentage
> than
>    tolerance = 0.01 for kilometer=0.25, mile=0.009

I get your point, however the meaning of the symbols from units_imperial1
and units_metric1 is that these stand for 1 mile, 1 kilometer (actually I
note we only have mile and meter) respectively. If as I suggested FMPs had
been put into the cds which specified the relations between 1 mile and
1 kilometer then this would translate to the same percentage tolerance as
one would be multiplying the unit measure (by 6300 or 0.25 etc.) If
however you did not take recourse to the FMPs, but referenced the approx
symbol directly from the MathML, it would of course be perfectly possible
to state 6300 km = 3914 +/- 0.01 miles.

>
> /Roger
>
>
>
> Bill Naylor wrote:
>
> > Hi Roger,
> >
> > Your e-mail raises an interesting point as regards to the tolerance
> > parameter to specify an "amount of slack" value for set membership.
> > There is an <approx/> element in the MathML spec. which one might hope
> > could be used for this purpose. However, that doesn't seem to give any
> > control over the accuracy of the approximation! There is an equivalent
> > OpenMath symbol in the cd relation1, but as it is only intended for
> > OpenMath/MathML alignment, that too doesn't give any accuracy. I have for
> > a while argued for an approx with accuracy and I guess that a relation2
> > cd could be written which included such a symbol, then this cd may be
> > submitted to the OpenMath submission site:
> >
> > http://monet.nag.co.uk/cocoon/openmath/cdfiles/contrib/index.html
> >
> > This will put it in the submitted cd's. I think then that the intention is
> > that periodically the OpenMath organisation will review these cd's and
> > include the ones it agrees with as official (David (Carlisle) can you
> > correct me if I'm wrong).
> >
> > Given the cd's have been set up as above (an approx symbol in relation2,
> > where the first arg is the accuracy, 2nd and 3rd approx eq), the example
> > may be given as:
> >
> >  <Class id="Distance">
> >      <equivalentInstances>
> >          <!--   S = {k, m | k = m * 1.62}   -->
> >          <math>
> >              <declare type="set">
> >                  <ci>S<ci>
> >                  <set>
> >                      <bvar
> > definitionURL="http://www.openmath.org/cd/units_metric#kilometer"><ci>k</ci>
> >                      </bvar>
> >                      <bvar
> > definitionURL="http://www.openmath.org/cd/units_imperial#mile"><ci>m</ci>
> >                      </bvar>
> >                      <condition>
> >                          <apply>
> >                              <approx
> > definitionURL="http://www.openmath.org/cd/relation2#approx"/>
> >                              <cn>-2</cn> <!-- the val is the exp of 10 -->
> >                              <ci>k</ci>
> >                              <apply>
> >                                  <times/>
> >                                  <ci>m</ci>
> >                                  <cn>1.62</cn>
> >                              </apply>
> >                          </apply>
> >                      </condition>
> >                      <list><ci>k</ci><ci>m</ci></list>
> >                  </set>
> >              </declare>
> >          </math>
> >      </equivalentInstances>
> >  </Class>
> >
> > I think that will do what you want?
> >
> > If things have not been set up as required in an OpenMath CD, it is
> > sometimes possible to use the MathML semantics element to specify the
> > required semantics. The syntax of this element is described in the MathML
> > spec:
> > http://www.w3.org/TR/MathML2/chapter4.html#N36079
> >
> > I hope this helps,
> >
> > Bill
>

Received on Wednesday, 23 July 2003 19:46:46 UTC