There was no page 1

(page 2)

Content dictionaries (CD's) are OpenMath objects which define sets of names to be used inside OpenMath objects.

(An OM object may have a functional representation or an SGML representation, we use the SGML one for dictionaries).

(Editorial note: The paper was presented using the terminology Semantic dictionaries, but later it was decided by the workshop that the name for these objects should be Content dictionaries. Hence all references to Semantic dictionaries have been updated.)

(page 3)

A Content dictionary (CD) should be viewed primarily as a document for humans, even though parts of it will be processed and understood by communicating systems.


- Human/Formal
Intended for humans to read, but also computer parsable

- Tolerance
Valid Syntactic objects, not known to the system, are quietly ignored.
Minimal or Subset compliant: the system does not guarantee to implement everything, it just guarantees that it will not misinterpret defined objects.

- Self-contained
The CD is self-contained and its definitions are also a CD (the Meta CD).

(page 4)

A Content dictionary (CD) contains:

(page 5)


  <CD_Name> Basic </CD_Name>  
CD name

  <CD_Expire> 12/Dec/96 </CD_Expire>

  <Description> The basic semantic dictionary that every OM
    compliant implementation should accept.  </Description>
Header information

    <Name> Pi </Name>
    <Class> Constant </Class>
    <Type> Pi :: real and Non(rational) and Non(algebraic)
    <Description> The mathematical constant Pi, approximately
      3.14159 </Description>
    <CMP> Pi = 3.1415926535897932385, "20-digit approximation"
    <CMP> Pi = 4*arctan(1) </CMP>
    <CMP> Pi = 16*arctan(1/5)-4*arctan(1/239),
      "Machin's formula" </CMP>
First name definition

    <Name> + </Name>
    <Class> Unary_function, Binary_function, Associative,
      Commutative </Class>
    <Type> complex+complex :: complex </Type>
    <Type> real+real :: real </Type>
    <Type> rational+rational :: rational </Type>
    <Type> integer+integer :: integer </Type>
    <Description> The addition operator of any group
    <CMP> a+b=b+a, commutativity </CMP>
    <CMP> a+(b+c)=(a+b)+c, associativity </CMP>
    <CMP> a+0=0+a=a, identity </CMP>
Second name definition

(page 6)

    <Name> sin </Name>
    <Class> Unary_function </Class>
    <Type> sin(real) :: -1..1 </Type>
    <Description> The circular trigonometric function sine
    <Ref> M. Abramowitz and I. Stegun, Handbook of
      Mathematical Functions, [4.3] </Ref>
    <CMP> sin(0)=0 </CMP>
    <CMP> sin(3*x)=-4*sin(x)^3+3*sin(x), "triple angle
      formula", <Ref> ditto, [4.3.27] </Ref> </CMP>
Third name definition

  <CMP> sin(x)^2+cos(x)^2-1=0, "Invariant relation followed by
    sin and cos", <Ref> M. Abramowitz and I. Stegun, Handbook
      of Mathematical Functions [4.3.10] </Ref> </CMP>
  <CMP> sin(Z*Pi)=0, "for any integer Z" </CMP>
  <CMP> exp(I*Pi) + 1 = 0, "Identity linking I, Pi, 0 and 1",
    <Ref> ditto, [4.2.26] </CMP>
  <CMP> sin(2*x) = 2*sin(x)*cos(x), "sine duplicating formula"
Global relations

 . . . . 
    <Name> sin </Name>
    <Class> Unary_function </Class>
    <Replacement_Semantics> Augments </Replacement_Semantics>
    <Type> sin(complex) :: complex </Type>
    <Type> sin(symbolic) :: sin(symbolic) </Type>
 . . . .
in some other package we may find

(pages 7-12)

The transparencies numbered 7 to 12 contain the format definition of the CDs. This is the CD called Meta. Since there has been a lot of activity over this definition, the original ones are no longer interesting.

(page 13)

Low Level CDs

Basic CDs and their hierarchy

Definitions and comments on the low level CDs.

(page 14)

Other groups have proposed similar layering of dictionaries, see for example the proposal by Roy Pike and his definition of Fields of Mathematics.

(page 15)


The Basic and Meta are available as files.
They should be completely self-contained.


Sept 15, Authors install Basic & Meta CDs as Web pages. Comments and updates follow.

Dec 15, The version at this date is considered the official CD version 1.0.

This page is part of the OpenMath Web archive, and is no longer kept up to date.