OpenMath

OpenMath è uno standard per descrivere la semantica delle formule matematiche . Contrariamente ai programmi di composizione come TeX , che visualizzano solo formule, OpenMath cerca di rappresentare il contenuto matematico con le proprie leggi. OpenMath può essere usato per descrivere la semantica di formule la cui presentazione è annotata nel MathML .

scopo

Lo standard OpenMath definisce gli oggetti OpenMath ("OpenMath Objects"), un tipo di dati astratto per descrivere la struttura funzionale delle formule matematiche, come espressioni costituite da simboli ("OpenMath Symbols"), variabili ("OpenMath Variables") e applicazioni di funzioni ("OpenMath Applications" ") Ed espressioni di binding (" OpenMath Binding Object "). Il significato di un simbolo è determinato facendo riferimento alla sua definizione in un dizionario dei contenuti ("dizionario dei contenuti", CD). I CD sono raccolte di definizioni di concetti matematici. Esiste un insieme di dizionari di contenuto standardizzati in cui i simboli noti da Content MathML sono predefiniti. I CD sono anche espressamente intesi per aggiungere nuovi simboli al Content MathML.

storia

OpenMath è stato sviluppato in una lunga serie di workshop e progetti (principalmente europei) dal 1993 . Lo standard OpenMath 1.0 è stato pubblicato nel febbraio 2000 e ampliato come OpenMath 1.1 nell'ottobre 2002. Lo standard OpenMath 2.0 è stato pubblicato due anni dopo, nel giugno 2004. OpenMath 1 ha stabilito l'architettura di base. OpenMath 2 lo ha ampliato per includere una migliore integrazione XML, condivisione della struttura e CD astratti.

OpenMath Society

Le attività di OpenMath sono coordinate dalla OpenMath Society con sede a Helsinki , Finlandia . La Società riunisce sviluppatori di sistemi software matematici, editori e autori. L'adesione viene assegnata dal consiglio; Tuttavia, sono benvenute anche le applicazioni di persone che hanno lavorato su OpenMath nella ricerca o nell'applicazione. Il presidente della OpenMath Society è Michael Kohlhase (dal 2007).

esempio

La nota formula quadrata

è rappresentato in OpenMath come segue (si tratta di un'espressione ad albero, le cui parti funzionali sono rappresentate utilizzando elementi XML come OMA per l'applicazione di funzioni o OMV per le variabili):

<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 questa espressione i simboli - ad esempio elementi come <OMS cd = "arith1" name = "times" /> - stanno per funzioni matematiche che vengono applicate ai loro elementi fratelli negli elementi OMA . Questi sono interpretati come argomenti. L' elemento OMS sta per il concetto matematico definito nel dizionario dei contenuti, specificato dall'attributo cd . (Questo documento XML può essere trovato presso l' URI che è dato nel prossimo attributo cdbase dominante . Nell'esempio sopra, tutti i simboli provengono dal CD per l'aritmetica ( arith1 vedi sotto).)

Dizionari di contenuto OpenMath

I CD sono documenti XML strutturati che definiscono simboli matematici a cui possono fare riferimento gli elementi OMS negli oggetti OpenMath. Lo standard OpenMath-2 non corregge la sintassi canonica per i CD, ma richiede solo un'infrastruttura sufficiente per fare riferimento negli elementi "OMS". OpenMath stesso utilizza una sintassi basata su XML molto semplice e fornisce CD per alcune aree matematiche. In particolare , è supportato il "frammento K-14 della matematica" (più o meno equivalente alla matematica fino al tedesco Abitur ), che è anche usato nel Content MathML .

OMDoc per contesti più ampi

Il formato OMDoc può essere utilizzato per incorporare formule OpenMath in contesti più ampi . OMDoc fornisce strutture per affermazioni matematiche come definizione, teorema, dimostrazione ed esempio che possono contenere formule OpenMath. Gruppi di dichiarazioni contestualmente correlate possono essere combinate per formare teorie. Vista come una raccolta di definizioni di simboli, una teoria OMDoc è compatibile con un OpenMath Content Dictionary.

critica

OpenMath è criticato per essere inadeguato per la matematica generale, per non offrire mezzi formali sufficienti per l'aritmetica in virgola mobile, per non aver fornito alcuna prova di applicabilità pratica nonostante anni di lavoro sul concetto e per essere inferiore ai meccanismi stabiliti per la codifica della semantica matematica, tra gli altri punti critici.

link internet

Prove individuali

  1. The OpenMath Society , su openmath.org, accesso 8 ottobre 2018
  2. Richard J. Fateman: [ http://www.cs.berkeley.edu/~fateman/papers/openmathcrit.pdf A Critique of OpenMath and Thoughts on Encoding Mathematics] . Università della California. 17 gennaio 2001. Estratto il 25 aprile 2015.