OpenMath

OpenMath est un standard pour décrire la sémantique des formules mathématiques . Contrairement aux programmes de composition comme TeX , qui n'affiche que des formules, OpenMath essaie de représenter le contenu mathématique avec ses propres lois. OpenMath peut être utilisé pour décrire la sémantique des formules dont la présentation est notée dans MathML .

portée

Le standard OpenMath définit les objets OpenMath («OpenMath Objects»), un type de données abstrait pour décrire la structure fonctionnelle des formules mathématiques, comme des expressions composées de symboles («OpenMath Symbols»), de variables («OpenMath Variables») et d'applications de fonction («OpenMath Applications») ") Et des expressions de liaison (" OpenMath Binding Object "). La signification d'un symbole est déterminée en référençant sa définition dans un dictionnaire de contenu («dictionnaire de contenu», CD). Les CD sont des collections de définitions de concepts mathématiques. Il existe un ensemble de dictionnaires de contenu normalisés dans lesquels les symboles connus de Content MathML sont prédéfinis. Les CD sont également expressément destinés à ajouter de nouveaux symboles à Content MathML.

récit

OpenMath a été développé au cours d'une longue série d'ateliers et de projets (principalement européens) depuis 1993 . Le standard OpenMath 1.0 a été publié en février 2000 et développé sous le nom d'OpenMath 1.1 en octobre 2002. La norme OpenMath 2.0 a été publiée deux ans plus tard en juin 2004. OpenMath 1 a établi l'architecture de base. OpenMath 2 a étendu cela pour inclure une meilleure intégration XML, un partage de structure et des CD de résumés.

Société OpenMath

Les activités d'OpenMath sont coordonnées par l'OpenMath Society basée à Helsinki , en Finlande . La Société rassemble des développeurs de logiciels mathématiques, des éditeurs et des auteurs. L'adhésion est attribuée par le conseil d'administration; Cependant, les candidatures de personnes ayant travaillé sur OpenMath dans le cadre de la recherche ou de l'application sont également les bienvenues. Le président de l'OpenMath Society est Michael Kohlhase (depuis 2007).

exemple

La formule carrée bien connue

est représenté dans OpenMath comme suit (il s'agit d'une expression arborescente, dont les parties fonctionnelles sont représentées à l'aide d' éléments XML tels que OMA pour l'application de fonction ou OMV pour les 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>

Dans cette expression, les symboles - c'est-à-dire des éléments comme <OMS cd = "arith1" name = "times" /> - représentent des fonctions mathématiques qui sont appliquées à leurs éléments soeurs dans les éléments OMA . Ceux-ci sont interprétés comme des arguments. L' élément OMS représente le concept mathématique qui est défini dans le dictionnaire de contenu, qui est spécifié par l' attribut cd . (Ce document XML peut être trouvé à l' URI qui est donnée dans l' attribut cdbase dominant suivant . Dans l'exemple ci-dessus, tous les symboles proviennent du CD pour l'arithmétique ( arith1 voir ci-dessous).)

Dictionnaires de contenu OpenMath

Les CD sont des documents XML structurés qui définissent des symboles mathématiques pouvant être référencés par des éléments OMS dans des objets OpenMath. Le standard OpenMath-2 ne corrige pas la syntaxe canonique des CD, mais requiert uniquement une infrastructure suffisante pour le référencement dans les éléments "OMS". OpenMath lui-même utilise une syntaxe XML très simple et fournit des CD pour certains domaines mathématiques. En particulier, le «fragment K-14 de mathématiques» (à peu près équivalent aux mathématiques jusqu'à l' Abitur allemand ), qui est également utilisé dans Content MathML , est pris en charge.

OMDoc pour des contextes plus larges

Le format OMDoc peut être utilisé pour incorporer des formules OpenMath dans des contextes plus larges . OMDoc fournit des structures pour les déclarations mathématiques telles que la définition, le théorème, la preuve et l'exemple qui peuvent contenir des formules OpenMath. Des groupes d'énoncés liés au contexte peuvent être combinés en théories. Considérée comme un ensemble de définitions de symboles, une théorie OMDoc est compatible avec un dictionnaire de contenu OpenMath.

critique

OpenMath est critiqué pour être inadéquat pour les mathématiques générales, pour ne pas offrir de moyens formels suffisants pour l'arithmétique en virgule flottante, pour n'avoir fourni aucune preuve d'applicabilité pratique malgré des années de travail sur le concept, et pour être inférieur aux mécanismes établis pour coder la sémantique mathématique, entre autres points de critique.

liens web

Preuve individuelle

  1. The OpenMath Society , sur openmath.org, consulté le 8 octobre 2018
  2. Richard J. Fateman: [ http://www.cs.berkeley.edu/~fateman/papers/openmathcrit.pdf Une critique d'OpenMath et des pensées sur l'encodage des mathématiques] . Université de Californie. 17 janvier 2001. Récupéré le 25 avril 2015.