[om] OpenMath 2

Professor James Davenport jhd at cs.bath.ac.uk
Fri Jan 2 19:59:55 CET 2004

A few comments written over Christmas.

-------------- next part --------------
OpenMath 2 Standard: Various comments by JHD
(with respect to HTML version of 11/12/2003)

1) Under "History" (1.1), it is said that Tallahassee and Eindhoven
   "endorsed drafts of this document as the current OpenMath standard."
   Suggested fix: "endorsed drafts of this document's predecessor as the
   then current OpenMath standard (version 1.1)." Possibly add: "It is
   hoped that a simialr process will lead to the endorsement of drafts of
   this document as the current OpenMath standard (version 2.0)".
2) The definition of flattening in 3.1.3 (recursive stripping) contrdicts the 
   definition under attribution in 3.2 (bottom of paragraph beginning
   "Composition", page 6), which describes (as in OM 1) flattening as
   producing a single level.
   Suggested fix: keep 3.2, for backwards compatibility, and in 3.1.3,
   replace "flattening" by "total stripping".
3) In 3.2 under binding, I do not understand the purpose of the first line
   in the two-line display:
   binding(lambda, v, (binding(lambda, z, application(times, z, z))).
   It seems to have been cut/pasted from a differnt discussion.
4) In 3.2 under attribution, paragraph beginning "attribution acts", the
   phrase "role attribution" should probably read "role annotation", or
   possibly "role annotation-attribution".
5) Definition of floating-point numbers (page 10). Bug 1 of 2 - perpetuated
   from 1.1. There needs to be a way of specifying (as discussed as nauseam
   on the mailing list) of specifying <OMF dec="NaN"/>.
   Suggested fix: Place entire existing grammar in parentheses and add:
   | "NaN" | "infinity" | "-infinity".
   It might also be worth adding the follwoing sentences (or one or other).
   Note that the OpenMath standard does not specify which NaN, or even kind
   (signalling/nonsignalling) of NaN, an IEEE-745 compliant OpenMath
   compliant system gets represented internally by <OMF dec="NaN"/>.
   Note also that an IEEE-745 compliant OpenMath compliant system is
   expected to represent <OMF dec="0.0"/> and  <OMF dec="-0.0"/> by the
   corresponding, and therefore different IEEE-754 numbers.
6) Definition of floating-point numbers (page 10). Bug 2 of 2. The
   definition of the hex encoding seems fairly opaque.
   Suggested fix:  I suggest deleting the current sentence, and starting a
   new paragraph as follows.
   The value of hex is the hexadecimal encoding (digits 0-9,A-F), using a
   least significant bit/byte ordering, of the IEEE representation of a
   floating-point number. For a normalised floating-point number, this
   would be mantissa, exponent and sign from lowest to highest bits.
   Leading or trailing 0 may not be stripped, so this would normally have
   16 hexadecimal digits.
7) Floating point number in binary (page 15). I don't believe this can be
   0.1. Possibly 0.5?
8) Character string in binary (page 15). I believe that the reference ro
   iso-859-1 should be iso-8859-1. Should be in bibliography?
9) RelaxNG Schema for CDs (page 20). Query 1 of 2. I can see a definition
   of the item Role, but no use of it. Role seems not to be mentioned in
   the Further Description in Section 5.3.2.
10) RelaxNG Schema for CDs (page 20). Query 2 of 2. Read literally, this
    seems to imply that a CDDefinition can have more than one Name.
11) 5.3.2 under examples. I quite agree, but maybe this could be expanded
    by the following example. "For example, in trancs1, the example
    $\cos(x)=\sin(x+\pi/2))$ could be under either sin or cos (or even
    both), but cannot be 'loose' in transc1".
12) Signature files. 5.4 is unclear: must all signatures files conform to
    the abstract specification and RelaxNG Schema, or only STS ones?

More information about the Om mailing list