OMDoc
Encyclopedia
OMDoc is a semantic
markup format for mathematical
documents. While MathML
only covers mathematical formulae and the related OpenMath
standard only supports formulae and “content dictionaries” containing definitions of the symbols used in formulae, OMDoc covers the whole range of written mathematics.
Object level:formulae, written in Content MathML
(the non-presentational subset of MathML), OpenMath
or languages for mathematical logic
.
Statement level:definitions, theorems, proofs, examples and the relations between them (e.g. “this proof proves that theorem”).
Theory level:A theory is a set of contextually related statements. Theories may import each other, thereby forming a graph
. Seen as collections of symbol definitions, OMDoc theories are compatible to OpenMath content dictionaries.
On each level, formal syntax and informal natural language can be used, depending on the application.
, for example, it is not primarily presentation-oriented. An OMDoc document need not specify what its contents should look like. A conversion to LaTeX and XHTML
(with Presentation MathML
for the formulae) is possible, though. To this end, the presentation of each symbol can be defined.
E-learning
:creation of customized textbooks
Data exchange:OMDoc import and export modules are available for many automated theorem provers
and computer algebra system
s. OMDoc is intended to be used for communication between mathematical web service
s.
Document preparation:Documents about mathematics can be prepared in OMDoc and later exported to a presentation-oriented format like LaTeX or XHTML+MathML.
since 1998. So far, there have been the following releases:
for technology and science” based on OMDoc. To this end, OMDoc is being extended towards sciences other than mathematics. The first result is PhysML, an OMDoc variant extended towards Physics
.
For a better integration with other Semantic Web applications, an OWL
ontology of OMDoc is under development, as well as an export facility to RDF
.
Semantics
Semantics is the study of meaning. It focuses on the relation between signifiers, such as words, phrases, signs and symbols, and what they stand for, their denotata....
markup format for mathematical
Mathematics
Mathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...
documents. While MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...
only covers mathematical formulae and the related OpenMath
OpenMath
OpenMath is the name of a markup language for specifying the meaning of mathematical formulae. Among other things, it can be used to complement MathML, a standard which mainly focuses on the presentation of formulae, with information about their semantic meaning...
standard only supports formulae and “content dictionaries” containing definitions of the symbols used in formulae, OMDoc covers the whole range of written mathematics.
Coverage
OMDoc allows for mathematical expressions on three levels:Object level:formulae, written in Content MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...
(the non-presentational subset of MathML), OpenMath
OpenMath
OpenMath is the name of a markup language for specifying the meaning of mathematical formulae. Among other things, it can be used to complement MathML, a standard which mainly focuses on the presentation of formulae, with information about their semantic meaning...
or languages for mathematical logic
Mathematical logic
Mathematical logic is a subfield of mathematics with close connections to foundations of mathematics, theoretical computer science and philosophical logic. The field includes both the mathematical study of logic and the applications of formal logic to other areas of mathematics...
.
Statement level:definitions, theorems, proofs, examples and the relations between them (e.g. “this proof proves that theorem”).
Theory level:A theory is a set of contextually related statements. Theories may import each other, thereby forming a graph
Graph (data structure)
In computer science, a graph is an abstract data structure that is meant to implement the graph and hypergraph concepts from mathematics.A graph data structure consists of a finite set of ordered pairs, called edges or arcs, of certain entities called nodes or vertices...
. Seen as collections of symbol definitions, OMDoc theories are compatible to OpenMath content dictionaries.
On each level, formal syntax and informal natural language can be used, depending on the application.
Semantics and Presentation
OMDoc is a semantic markup language that allows to write down the meaning of texts about mathematics. In contrast to LaTeXLaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...
, for example, it is not primarily presentation-oriented. An OMDoc document need not specify what its contents should look like. A conversion to LaTeX and XHTML
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....
(with Presentation MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...
for the formulae) is possible, though. To this end, the presentation of each symbol can be defined.
Applications
Today, OMDoc is used in the following settings:E-learning
E-learning
E-learning comprises all forms of electronically supported learning and teaching. The information and communication systems, whether networked learning or not, serve as specific media to implement the learning process...
:creation of customized textbooks
Data exchange:OMDoc import and export modules are available for many automated theorem provers
Automated theorem proving
Automated theorem proving or automated deduction, currently the most well-developed subfield of automated reasoning , is the proving of mathematical theorems by a computer program.- Decidability of the problem :...
and computer algebra system
Computer algebra system
A computer algebra system is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form.-Symbolic manipulations:...
s. OMDoc is intended to be used for communication between mathematical web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s.
Document preparation:Documents about mathematics can be prepared in OMDoc and later exported to a presentation-oriented format like LaTeX or XHTML+MathML.
History
OMDoc has been developed by the German mathematician and computer scientist Michael KohlhaseMichael Kohlhase
Dr. Michael Kohlhase is a German computer scientist and professor at Jacobs University, Bremen, Germany, where he is head of the KWARC research group at the School of Engineering and Science.-Academic Positions:Dr...
since 1998. So far, there have been the following releases:
- 1.0 (November 2000)
- 1.1 (December 2001)
- 1.2 (July 2006)
Future Developments
It is planned to create the infrastructure for a “semantic webSemantic Web
The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...
for technology and science” based on OMDoc. To this end, OMDoc is being extended towards sciences other than mathematics. The first result is PhysML, an OMDoc variant extended towards Physics
Physics
Physics is a natural science that involves the study of matter and its motion through spacetime, along with related concepts such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the universe behaves.Physics is one of the oldest academic...
.
For a better integration with other Semantic Web applications, an OWL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...
ontology of OMDoc is under development, as well as an export facility to RDF
Resource Description Framework
The Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...
.