2

Definition

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.)

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.

GUIDING PRINCIPLES

- 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 compiant. 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).

4

A Content dictionary (CD) contains:
• A unique name within the OpenMath community

• A set of names defined (function, operators, constants) and their information

• Global relations between the defined names

5

` <CD> `
 ``` Basic ```
 ``` http://www.can.nl/OpenMath/Definition/Basic 12/Dec/96 The basic semantic dictionary that every OM compliant implementation should accept. ```
 ``` Pi Constant Pi :: real and Non(rational) and Non(algebraic) The mathematical constant Pi, approximately 3.14159 Pi = 3.1415926535897932385, "20-digit approximation" Pi = 4*arctan(1) Pi = 16*arctan(1/5)-4*arctan(1/239), "Machin's formula" ```
 ``` + Unary_function, Binary_function, Associative, Commutative complex+complex :: complex real+real :: real rational+rational :: rational integer+integer :: integer The addition operator of any group a+b=b+a, commutativity a+(b+c)=(a+b)+c, associativity a+0=0+a=a, identity ```

6

 ``` sin Unary_function sin(real) :: -1..1 The circular trigonometric function sine M. Abramowitz and I. Stegun, Handbook of Mathematical Functions, [4.3] sin(0)=0 sin(3*x)=-4*sin(x)^3+3*sin(x), "triple angle formula", ditto, [4.3.27] ```
 ``` sin(x)^2+cos(x)^2-1=0, "Invariant relation followed by sin and cos", M. Abramowitz and I. Stegun, Handbook of Mathematical Functions [4.3.10] sin(Z*Pi)=0, "for any integer Z" exp(I*Pi) + 1 = 0, "Identity linking I, Pi, 0 and 1", ditto, [4.2.26] sin(2*x) = 2*sin(x)*cos(x), "sine duplicating formula" ```
` </CD> `
 ``` . . . . sin Unary_function Augments sin(complex) :: complex sin(symbolic) :: sin(symbolic) . . . . ```

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.

13

Low Level CDs

 LinearAlgebra Poly-nomials Specialfunctions Powerseries Non-commutative Inert Basic Meta*

Definitions and comments on the low level CDs.
• Meta. This CD provides the formal definition of the CD itself. In reality, it is not part of the hierarchy, all of the CDs are written in the format as specified by Meta.
• Basic. Provides the definition of
• symbols, integers, rationals, floating point numbers, booleans
• arithmetic operations
• some transcendental functions (exp, ln, trigonometric, inverse trigonometric)
• matrices and vectors
• truncated dense taylor series
• algebraic numbers
• some basic data structures (list, set, equation, inequation, inequalities, ranges)
• error messages
• boolean operators (not and or)
• Inert. Provides the same set of operations as in Basic, but these are intended to be non-computing. These allow to build mathematical objects without evaluation. For example, to build the expression 1+2 without having it evaluated to 3. The long form of names (e.g. Inert::+) allows the user to use these inert forms.
• Non-commutative. Redefinition of some operators which are commutative in the Basic CD to allow their use as non-commutative operators by long form names (e.g. NonComm::*)
• Linear Algebra. Definition of linear algebra functions and operators and of other valid matrix/vector representations.
• Polynomials. Definition of functions dealing with polynomials and other representation for polynomials.
• Special Functions. Definition of special mathematical functions.
• Power series. Definition/redefinition of operators on power series and definition of various constructors of power series.

14

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

15

 THIS IS A PROPOSAL

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

 PROPOSAL SCHEDULE

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.