REPRESENTING CLIFFORD ALGEBRA INTO OMDOC FORMAT Ratish Shrestha, Michael Watts Jr. Wendy Zhang , Kuo-Pao Yang Computer Science and Industrial Technology Southeastern Louisiana University ABSTRACT 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. INTRODUCTION Background 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 (http://www.omdoc.org/omdoc/goals.html) 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 statements: <CDDefinition> <Name>Symbol Name</Name> <CDDescription> Content Dictionary description </CDDescription> <CMP> CMP contains a natural language description of a desired property. </CMP> <FMP> It contains an OpenMath object that expresses the desired property. </FMP> </CDDefinition> 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]. METHODOLOGY 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="http://www.openmath.org/OpenMath"> <OMBIND> <OMBVAR> <OMV name="A"/><OMV name="B"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="A"/><OMV name="B"/> </OMA> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="B"/><OMV name="A"/> </OMA> </OMA> </OMBIND></OMOBJ> Parse Tree OMDoc Representation for A+B=B+A Figure 2: The Parser Tree RESULTS 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 LIMITATIONS AND FUTURE STUDY 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. ACKNOWLEDGEMENTS This project was supported by Science and Technology Awards for Research (STAR) Grant from College of Science and Technology, Southeastern Louisiana University. REFERENCES 1. ActiveMath Web, ActiveMath Home, http://www.activemath.org, 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, http://www.omdoc.org/pubs/omdoc1.2.pdf, 2008. 4. Kohlhase, Michael, OMDoc: an infrastructure for OpenMath content dictionary information, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.364, 2000. 5. MathWeb, OMDoc, http://www.mathweb.org/wiki/Index.php/OMDoc , 2008. 6. OMDoc.org, The OMDoc Portal, http://www.omdoc.org, 2006. 7. OpenMath Society, Open Math Content Dictionaries, http://www.openmath.org/cd/, 2006. 8. Wikipedia, Clifford Algebra, http://en.wikipedia.org/wiki/Clifford_algebra