representing clifford algebra into omdoc format

Ratish Shrestha, Michael Watts Jr. Wendy Zhang , Kuo-Pao Yang
Computer Science and Industrial Technology
Southeastern Louisiana University
Open Math Document (OMDoc) is used to define mathematical theorems and semantics
of mathematical objects and present the mathematical theorem in XML format over the Internet.
OMDoc can be considered as an extension of OpenMath and MathML standard. OMDoc uses
content dictionaries (CD) defined in OpenMath to provide semantics to different mathematical
expressions. OMDoc can also be used to define our own set of content dictionaries and symbols
to define any set of mathematical expressions. Geometric Algebra is defined by a set of axioms
that explain the definitions and identities of different properties. In this paper, several
mathematical expressions of Geometric Algebra are presented into OMDoc format.
OMDoc is an XML based markup language used to represent mathematical theory in a
format that gives semantic to the theory and is web readable. OMDoc was first proposed by
Michael Kohlhase in 1998 [6]. Currently, a number of individuals and universities are involved
in the development of OMDoc project. One of the most active OMDoc projects is JOMDoc.
JOMDoc is a Java API for OMDOC documents that helps to parse OMDoc XML documents
into a Java data structure and the documents can be easily manipulated [6].
ActiveMath is also one of the currently featured OMDoc projects. The ActiveMath
project enables teachers, tutors, psychologists, and educators to improve learning and teaching in
schools and universities. This project is focused on adaptive learning environment for
mathematics and other fields, collaborative environments, E-Portfolios and learning diaries [1].
Other OMDoc projects that are currently being developed are OMEGA (a mathematical
assistant), LambdaClam (an inductive theorem prover), and VeriFun (a verifier for functional
programs) [6].
Clifford Algebra is a type of associative algebra that is used in the generalizations of
complex numbers. The theory of Clifford algebra is related to the theory of quadratic forms and
orthogonal transformations. This algebra can be applied in various fields like geometry and
theoretical physics. Clifford algebra is one of the complex mathematics fields, that is difficult to
understand and implement [8].
Project Goals
The main problem in representing a mathematical expression on the web is the lack of
standardized infrastructure. Today, we have a number of mathematical software packages that
can represent mathematical objects. The problem with these mathematical software is that they
can only deal with the representation of the mathematical objects, but they cannot validate the
correctness of the mathematical documents. In other words, the computer can read the format,
but cannot understand its meaning. In contrast, OMDoc provides an infrastructure for the
representation as well as the validation of the mathematical documents. Mathematical
documents can vary greatly in their presentation and level of formality, but the semantic
structure is common to all forms of mathematics [3]. OMDoc markup language can present the
common semantic structure and exchange structured mathematical documents between different
systems and software [3].
The primary goals of the OMDoc design format as described in the OMDoc website
( are as follows:
a) be Ontologically uncommitted, so that it can serve as an integration format for
mathematical software systems;
b) provide a representation format for mathematical documents that combined formal and
informal views of all the mathematical knowledge contained in them;
c) be based on sound logic/representational principles;
d) be based on structural/content markup to guarantee both (a) and (b) [6].
To define the semantics of any mathematical document, OMDoc makes use of OpenMath
Society CDs. OpenMath CDs have a well defined set of mathematical objects that can be used to
represent mathematical expressions in our documents [5]. In general, a well defined CD is a set
of collection of symbol declaration that contains descriptions, mathematical properties, and
examples of the concepts represented by these symbols to make their meaning unambiguous.
Symbol declaration defines a symbol with a set of “commented mathematical properties” (CMP)
and “formal mathematical properties” (FMP) in the OpenMath objects [3].
OMDoc uses three levels of modeling to represent a mathematical document.
a) Mathematical Theory: At this level, OMDoc supplies original markup for clustering
sets of statements into theories and specifying relations between theories by morphemes.
With the mathematical theory, mathematical documents can be structured into reusable
chunks that serve as the primary notion of context in OMDoc.
b) Mathematical Statement: OMDoc provides original markup infrastructure for making
the structure of mathematical statements explicit. For an example, let us see the following
<Name>Symbol Name</Name>
Content Dictionary description
CMP contains a natural language
description of a desired property.
It contains an OpenMath object that
expresses the desired property.
Figure 1: CD Definition Statement
c) Mathematical Formulae: At the level of mathematical formulae, OMDoc uses the
established standards of OpenMath and Content-MathML that provide content markup
for the structure of mathematical formulae and context markup [3].
A laptop with Windows XP system was used for this project. To write an OMDoc
document, we used a regular text editor Notepad and to view the XHTML file we used Firefox
Mozilla browser. To implement the Clifford Algebra into OMDoc format, we used an emulator,
called Cygwin, to simulate the Unix Environment. Cygwin is used to convert a regular OMDoc
file into XHTML file using packages like MakeFile and XSLTProc.
Let us suppose the name of the omdoc source file that we created to be “GA.omdoc”.
The commands below were used to convert a “GA.omdoc” file into a “GA.xhtml” file.
1. xsltproc -o GA-tmpl.xsl ../../xsl/expres.xsl GA.omdoc
2. xsltproc -o GA-incl.xsl --stringparam self GA-tmpl.xsl ../../xsl/exincl.xsl GA.omdoc
3. ../../bin/make2files '../../xsl/omdoc2pmml.xsl' GA-incl.xsl > GA2pmml.xsl
4. xsltproc -o GA.xhtml --stringparam css omdoc-cnx.css GA2pmml.xsl GA.omdoc
We used a top-down tree to express mathematical expression into OMDoc format. Using
a top-down tree, we were able to break down the expression into parts and that made us easy to
represent it into OMDoc format. For an example, let us see the expression A + B = B + A [2].
The parse tree and OMDoc representation for this expression is given in the table below.
<OMOBJ xmlns="">
<OMV name="A"/><OMV name="B"/>
<OMS cd="relation1" name="eq"/>
<OMS cd="arith1" name="plus"/>
<OMV name="A"/><OMV name="B"/>
<OMS cd="arith1" name="plus"/>
<OMV name="B"/><OMV name="A"/>
Parse Tree
OMDoc Representation for A+B=B+A
Figure 2: The Parser Tree
The final result of this project can be seen in an XHTML file that is converted from our
OMDoc file. The figure below shows how the document looks like in a Firefox Mozilla browser.
Figure 3: GA.xhtml
Using OMDoc to create content dictionary (CD) of Clifford algebra is still in its initial
phase. It is a challenge to implement it into the real mathematical world. There were problems
with finding symbols in the official OpenMath CDs that actually represent the correct format of
the Clifford Algebra. Some of the symbols were not even defined in any of the OpenMath CDs.
We had to define our own symbols and develop our own content dictionaries. Due to
insufficient information about how to create our own OMDoc symbols and CDs, we were not
able to represent some of the Clifford Algebra expressions correctly.
Clifford Algebra is very complex to understand. We need more time to completely
understand about Clifford Algebra and its various definitions and symbols. In the future, we will
be working on developing our own CDs and represent all the symbols in Clifford Algebra that
are not defined in the OpenMath CD. We will also be working on writing documentation about
how to develop an OMDoc documents, so that others can learn about OMDoc and get help in
developing correct CDs.
This project was supported by Science and Technology Awards for Research (STAR)
Grant from College of Science and Technology, Southeastern Louisiana University.
1. ActiveMath Web, ActiveMath Home,, 2008.
2. Hestenes, David, Clifford Algebra to Geometric Calculus: a Unified Language for
Mathematics and Physics, Dordrecht: D. Reidel Publishing Company, 1984.
3. Kohlhase, Michael, An open markup format for mathematical documents,, 2008.
4. Kohlhase, Michael, OMDoc: an infrastructure for OpenMath content dictionary information,, 2000.
5. MathWeb, OMDoc, , 2008.
6., The OMDoc Portal,, 2006.
7. OpenMath Society, Open Math Content Dictionaries,, 2006.
8. Wikipedia, Clifford Algebra,