The OpenDreamKit project aims to build a virtual research environment for mathematics from an ecosystem of open source mathematical software systems. A crucial subgoal in this is to enable the systems to communicate mathematical objects, e.g. concrete elliptic curves or groups.
Several approaches exist (direct c-level library calls, semantic handles, …),, cattering for different needs, and OpenDreamKit pursues them all.
Of particular interest is the use of OpenMath, a format which is designed for a content-oriented representation of mathematical concepts, objects, and models. To create common meaning space, the OpenDreamKit project is pursuing the Math-in-the-Middle (MitM) paradigm to establish an ontology of mathematics that can act as a joint context for the communication.
In the OpenMath terminology, the MitM ontology acts as a set of content dictionaries (CDs) that anchor the OpenMath objects semantically. For communication between the systems we only need to equip them with OpenMath phrasebooks (I/O libraries for OpenMath objects). The MitM ontology will be semi-automatically curated and connected to “system interface ontologies” (CDs for the system objects).
The MitM Ontology can enable multiple added value services including:
- remote evaluation of mathematical expressions via SCSCP
- MONET-style service discovery via the MitM CDs.
The current state of play is that we have initial exports of system interface ontologies for three systems (the exporters are under development still, so your mileage may vary).
- SageMath (265 CDs); see them on MathHub.info
- GAP (210 CDs with 2996 symbols) see them on MathHub.info, and
- (partially) and the LMFDB.
The MitM ontology is still very much experimental.
All CDs are encoded in OMDoc/MMT, which is legal by the OpenMath2 standard. Lossful coversions to standalone OMCDs are possible, but have not been pursued at the moment.
Blog SageMath WP6: Data/Knowledge/Software bases Math-in-the-Middle GAP