OpenMath is a standard for describing the semantics of mathematical formulas. In contrast to Theorem programs such as LaTeX, which represent formulas only, OpenMath, attempts to represent the mathematical content with its own laws. OpenMath can be used to describe the semantics of formulas whose presentation is listed in MathML.


The OpenMath standard defines OpenMath objects (" OpenMath Objects" ), an abstract data type for describing the functional structure of mathematical formulas as expressions of symbols ( " OpenMath symbol " ), variables ( " OpenMath Variables" ), function applications (" OpenMath Applications " ), and binding expressions ( " OpenMath binding Object "). The meaning of a symbol is by referencing its definition in a glossary content ("Content Dictionary", CD) set. CDs are collections of definitions of mathematical concepts. There is a set of standardized Content Dictionaries, in which the known from Content MathML symbols are predefined. CDs are expressly also intended to expand content MathML to new symbols.


OpenMath since 1993, in a long series of workshops and (mostly European) projects have been developed. The OpenMath 1.0 standard was published in February 2000, and expanded as OpenMath 1.1 in October 2002. The OpenMath 2.0 Standard was published in June 2004, two years later. OpenMath 1 laid down the basic architecture. OpenMath 2 extended these to better XML integration, shared structures ( structure sharing) and to abstract CDs.

OpenMath Society

The activities to be OpenMath, coordinated by the OpenMath Society, based in Helsinki, Finland. The Society brings developer of mathematical software systems, publishers and authors together. Membership is awarded by the Board; Applications from persons who have been working on OpenMath in research or application, but are also welcome. President of the OpenMath Society is Michael Kohlhase ( since 2007).


The well-known quadratic formula

In OpenMath is represented as follows (it is here a tree-like expression whose functional components are represented by XML elements such as OMA for function application or OMV for variables):

                                                                                                                                                                                       2                                                         4                                                                  2                                          2                         In this expression are the symbols - that is, elements such as - for mathematical functions that are applied to her sister - in elements OMA elements. These are interpreted as arguments. The OMS element stands for the one mathematical concept that is defined in the content glossary, which is specified by the cd attribute. ( This XML document can be found at the URI which was given in the next dominant cdbase attribute. Example above all the icons come from the CD for arithmetic ( arith1 see below). )

OpenMath content dictionaries (Content Dictionaries )

CDs are structured XML documents that define mathematical symbols that can be referenced by the OMS elements in OpenMath objects. The OpenMath 2 standard fixed no canonical syntax for CDs, but only requires an infrastructure that is sufficient for referencing in " OMS " elements. OpenMath itself uses a very simple XML - based syntax and provides CDs for some mathematical areas available. In particular, the " K-14 fragment of mathematics " is ( roughly equivalent to the mathematics to the German Abitur ) support, which is also used in Content MathML.

OMDoc for larger contexts

To embed OpenMath formulas into larger contexts, the OMDoc format can be used. OMDoc provides structures for mathematical statements such as definition, theorem, proof and example that may contain the OpenMath formulas. Groups of contextually interrelated statements can be grouped into theories. As a collection of symbol definitions considered, an OMDoc theory is compatible with an OpenMath Content Dictionary.