OpenMath

from Wikipedia, the free encyclopedia

OpenMath is a standard for describing the semantics of mathematical formulas. In contrast to typesetting programs like TeX , which only display formulas, OpenMath tries to represent the mathematical content with its own laws. OpenMath can be used to describe the semantics of formulas whose presentation is noted in MathML .

scope

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

history

OpenMath has been developed in a long series of workshops and (mostly European) projects since 1993 . 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 two years later in June 2004. OpenMath 1 established the basic architecture. OpenMath 2 expanded this to include better XML integration, structure sharing and abstract CDs.

OpenMath Society

The OpenMath activities are coordinated by the OpenMath Society based in Helsinki , Finland . The Society brings together developers of mathematical software systems, publishers and authors. Membership is awarded by the board; However, applications from people who have worked on OpenMath in research or application are also welcome. The President of the OpenMath Society is Michael Kohlhase (since 2007).

example

The well-known square formula

is represented in OpenMath as follows (this is a tree-like expression, the functional parts of which are represented using XML elements such as OMA for function application or OMV for variables):

<OMOBJ  xmlns="http://www.openmath.org/OpenMath">
  <OMA cdbase="http://www.openmath.org/cd">
    <OMS cd="relation1" name="eq"/>
    <OMV name="x"/>
    <OMA>
      <OMS cd="arith1" name="divide"/>
      <OMA>
        <OMS cd="multiops" name="plusminus"/>
        <OMA>
          <OMS cd="arith1" name="unary_minus"/>
          <OMV name="b"/>
        </OMA>
        <OMA>
          <OMS cd="arith1" name="root"/>
          <OMA>
            <OMS cd="arith1" name="minus"/>
            <OMA>
              <OMS cd="arith1" name="power"/>
              <OMV name="b"/>
              <OMI>2</OMI>
            </OMA>
            <OMA>
              <OMS cd="arith1" name="times"/>
              <OMI>4</OMI>
              <OMV name="a"/>
              <OMV name="c"/>
            </OMA>
          </OMA>
          <OMI>2</OMI>
        </OMA>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="times"/>
        <OMI>2</OMI>
        <OMV name="a"/>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ>

In this expression the symbols - i.e. elements like <OMS cd = "arith1" name = "times" /> - stand for mathematical functions that are applied to their sister elements in OMA elements. These are interpreted as arguments. The OMS element stands for the mathematical concept that is defined in the content dictionary, which is specified by the cd attribute. (This XML document can be found at the URI that is given in the next dominant cdbase attribute. In the example above, all symbols come from the CD for arithmetic ( arith1 see below).)

OpenMath content dictionaries

CDs are structured XML documents that define mathematical symbols that can be referenced by OMS elements in OpenMath objects. The OpenMath-2 standard does not fix 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 fields. In particular, the "K-14 fragment of mathematics" (roughly equivalent to mathematics up to the German Abitur ), which is also used in Content MathML , is supported.

OMDoc for larger contexts

The OMDoc format can be used to embed OpenMath formulas in larger contexts . OMDoc provides structures for mathematical statements such as definition, theorem, proof, and example that can contain OpenMath formulas. Groups of contextually related statements can be combined into theories. Viewed as a collection of symbol definitions, an OMDoc theory is compatible with an OpenMath Content Dictionary.

criticism

OpenMath is criticized for being inadequate for general mathematics, for not offering sufficient formal means for floating point arithmetic, for not having provided any evidence of practical applicability despite years of work on the concept, and for being inferior to established mechanisms for coding mathematical semantics, among other points of criticism.

Web links

Individual evidence

  1. The OpenMath Society , at openmath.org, accessed October 8, 2018
  2. Richard J. Fateman: [ http://www.cs.berkeley.edu/~fateman/papers/openmathcrit.pdf A Critique of OpenMath and Thoughts on Encoding Mathematics] . University of California. January 17, 2001. Retrieved April 25, 2015.