Artifact 251885e97c3ea642d49eba62765148062bd786c6bfed96e0291103c71e972938:
- Executable file
r38/log/mathmlom.rlg
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 163426) [annotate] [blame] [check-ins using] [more...]
Tue Apr 15 00:35:11 2008 run on win32 load mathmlom; %in "$reduce/packages/mathml/examples.mml"; % Description: This file contains a long list of examples demonstrating the abilities of % the translator. Most of these examples come straight from the MathML spec. They % were used during the development of the interface and should all be correctly % translated into OpenMath. % % Version 17 April 2000 % % Author: Luis Alvarez Sobreviela % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mml2om(); <math> <apply><sin/> <apply><plus/> <apply><cos/> <ci> x </ci> </apply> <apply><power/> <ci> x </ci> <cn> 3 </cn> </apply> </apply> </apply> </math> Intermediate representation: (sin nil (plus nil (cos nil x) (power nil x 3))) <OMOBJ> <OMA> <OMS cd="transc1" name="sin"> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="transc1" name="cos"> <OMV name="x"/> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMI> 3 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><sin/> <apply><plus/> <apply><cos/> <ci> x </ci> </apply> <apply><power/> <ci type="real"> x </ci> <cn> 3 </cn> </apply> </apply> </apply> </math> Intermediate representation: (sin nil (plus nil (cos nil x) (power nil (ci ((type real)) x) 3))) <OMOBJ> <OMA> <OMS cd="transc1" name="sin"> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="transc1" name="cos"> <OMV name="x"/> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(real real_type)real_type"> </OMATP> <OMV name="x"/> </OMATTR> <OMI> 3 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <set type=normal> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </set> </math> Intermediate representation: (set ((type normal)) b 2 c) <OMOBJ> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <set type="multiset"> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </set> </math> Intermediate representation: (set ((type multiset)) b 2 c) <OMOBJ> <OMA> <OMS cd="multiset1" name="set"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <vector> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </vector> </math> Intermediate representation: (vectorml nil b 2 c) <OMOBJ> <OMA> <OMS cd="linalg1" name="vector"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <interval closure=closed> <ci> b </ci> <cn> 2 </cn> </interval> </math> Intermediate representation: (interval ((closure closed)) b 2) <OMOBJ> <OMA> <OMS cd="interval1" name="interval_cc"/> <OMV name="b"/> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <interval closure=open> <ci> b </ci> <cn> 2 </cn> </interval> </math> Intermediate representation: (interval ((closure open)) b 2) <OMOBJ> <OMA> <OMS cd="interval1" name="interval_oo"/> <OMV name="b"/> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <interval closure=open-closed> <ci> b </ci> <cn> 2 </cn> </interval> </math> Intermediate representation: (interval ((closure open!-closed)) b 2) <OMOBJ> <OMA> <OMS cd="interval1" name="interval_oc"/> <OMV name="b"/> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <interval closure=closed-open> <ci> b </ci> <cn> 2 </cn> </interval> </math> Intermediate representation: (interval ((closure closed!-open)) b 2) <OMOBJ> <OMA> <OMS cd="interval1" name="interval_co"/> <OMV name="b"/> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <cn type="complex-cartesian"> 6 <sep/> 3 </cn> </math> Intermediate representation: (complex_cartesian nil 6 3) <OMOBJ> <OMA> <OMS cd="nums1" name="complex_cartesian"> <OMI> 6 </OMI> <OMI> 3 </OMI> </OMA> </OMOBJ> mml2om(); <math> <cn type="complex-polar"> 6 <sep/> 3 </cn> </math> Intermediate representation: (complex_polar nil 6 3) <OMOBJ> <OMA> <OMS cd="nums1" name="complex_polar"> <OMI> 6 </OMI> <OMI> 3 </OMI> </OMA> </OMOBJ> mml2om(); <math> <cn type="integer" base="10"> 6 </cn> </math> Intermediate representation: (based_integer nil 10 (string 6)) <OMOBJ> <OMA> <OMS cd="nums1" name="based_integer"> <OMI> 10 </OMI> <OMSTR> 6 </OMSTR> </OMA> </OMOBJ> mml2om(); <math> <apply><sum/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit> <uplimit> <ci> b </ci> </uplimit> <apply><plus/> <ci> x </ci> <apply><sin/> <ci> y </ci> </apply> </apply> </apply> </math> Intermediate representation: (sum nil (bvar x 1) (lowupperlimit a b) (plus nil x (sin nil y))) <OMOBJ> <OMA> <OMS cd="arith1" name="sum"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="arith1" name="plus"> <OMV name="x"/> <OMA> <OMS cd="transc1" name="sin"> <OMV name="y"/> </OMA> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><int/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit> <uplimit> <ci> b </ci> </uplimit> <apply><fn><ci> f </ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (int nil (bvar x 1) (lowupperlimit a b) (f nil x)) <OMOBJ> <OMA> <OMS cd="calculus1" name="defint"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <lambda> <bvar> <ci> x </ci> </bvar> <apply><sin/> <ci> x </ci> </apply> </lambda> </math> Intermediate representation: (lambda nil (bvar x 1) (sin nil x)) <OMOBJ> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMOBJ> mml2om(); <math> <apply><limit/> <bvar> <ci> x </ci> </bvar> <lowlimit> <cn> 0 </cn> </lowlimit> <apply><sin/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (limit nil (bvar x 1) (lowlimit 0) (sin nil x)) <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMI> 0 </OMI> <OMS cd="limit1" name="null"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><limit/> <bvar> <ci> x </ci> </bvar> <condition> <apply> <tendsto type="above"/> <ci> x </ci> <ci> a </ci> </apply> </condition> <apply><sin/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (limit nil (bvar x 1) (condition (tendsto ((type above)) x a)) (sin nil x)) <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMV name="a"/> <OMS cd="limit1" name="above"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><not/> <apply><exists/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <bvar> <ci> z </ci> </bvar> <bvar> <ci> n </ci> </bvar> <apply><and/> <apply><gt/> <ci> n </ci> <cn type="integer"> 2 </cn> </apply> <apply><eq/> <apply><plus/> <apply><power/> <ci> x </ci> <ci> n </ci> </apply> <apply><power/> <ci> y </ci> <ci> n </ci> </apply> </apply> <apply><power/> <ci> z </ci> <ci> n </ci> </apply> </apply> </apply> </apply> </apply> </math> Intermediate representation: (not nil (exists nil (bvar x 1) (bvar y 1) (bvar z 1) (bvar n 1) nil (and nil ( gt nil n 2) (eq nil (plus nil (power nil x n) (power nil y n)) (power nil z n))) )) <OMOBJ> <OMA> <OMS cd="logic1" name="not"> <OMBIND> <OMS cd="quant1" name="exists"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> <OMV name="z"/> <OMV name="n"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"> <OMA> <OMS cd="relation1" name="gt"> <OMV name="n"/> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMV name="n"/> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="y"/> <OMV name="n"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="z"/> <OMV name="n"/> </OMA> </OMA> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <matrix> <matrixrow> <cn> 0 </cn> <cn> 1 </cn> <cn> 0 </cn> </matrixrow> <matrixrow> <cn> 0 </cn> <cn> 0 </cn> <cn> 1 </cn> </matrixrow> <matrixrow> <cn> 1 </cn> <cn> 0 </cn> <cn> 0 </cn> </matrixrow> </matrix> </math> Intermediate representation: (matrix nil matrixrow ((0 1 0) (0 0 1) (1 0 0))) <OMOBJ> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 1 </OMI> <OMI> 0 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 0 </OMI> <OMI> 0 </OMI> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><int/> <bvar> <ci>x</ci> </bvar> <apply><power/> <ci>x</ci> <cn type="integer">2</cn> </apply> </apply> </math> Intermediate representation: (int nil (bvar x 1) nil (power nil x 2)) <OMOBJ> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMI> 2 </OMI> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><int/> <bvar> <ci> x </ci> </bvar> <apply><sin/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (int nil (bvar x 1) nil (sin nil x)) <OMOBJ> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><sum/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit> <uplimit> <ci> b </ci> </uplimit> <apply><fn><ci> f </ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (sum nil (bvar x 1) (lowupperlimit a b) (f nil x)) <OMOBJ> <OMA> <OMS cd="arith1" name="sum"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><diff/> <bvar> <ci> x </ci> </bvar> <apply><fn><ci>f</ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (diff nil (bvar x 1) (f nil x)) <OMOBJ> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><diff/> <bvar> <ci> x </ci> <degree> <cn> 2 </cn> </degree> </bvar> <apply><fn><ci>f</ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (diff nil (bvar x 1) (diff nil (bvar x 1) (f nil x))) <OMOBJ> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><diff/> <bvar> <ci> x </ci> <degree> <cn> 3 </cn> </degree> </bvar> <apply><fn><ci>f</ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (diff nil (bvar x 1) (diff nil (bvar x 1) (diff nil (bvar x 1) (f nil x)))) <OMOBJ> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMBIND> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <set type=normal> <ci> b </ci> <ci> a </ci> <ci> c </ci> </set> </math> Intermediate representation: (set ((type normal)) b a c) <OMOBJ> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMV name="a"/> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <list> <ci> b </ci> <ci> a </ci> <ci> c </ci> </list> </math> Intermediate representation: (list nil b a c) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMV name="b"/> <OMV name="a"/> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <list order="lexicographic"> <ci> b </ci> <ci> a </ci> <ci> c </ci> </list> </math> Intermediate representation: (list ((order lexicographic)) b a c) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMV name="b"/> <OMV name="a"/> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <apply><union definitionurl="www.nag.co.uk"/> <ci type="set"> A </ci> <ci type="set"> B </ci> </apply> </math> Intermediate representation: (union ((definitionurl (w w w !. n a g !. c o !. u k))) (ci ((type set)) a) (ci ((type set)) b)) <OMOBJ> <OMA> <OMS cd="set1" name="union"> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(set set_type)set_type"> </OMATP> <OMV name="a"/> </OMATTR> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(set set_type)set_type"> </OMATP> <OMV name="b"/> </OMATTR> </OMA> </OMOBJ> mml2om(); <math> <apply><union/> <set type="normal"> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </set> <set> <ci> b </ci> <ci> r </ci> <cn> 2 </cn> <cn> 4 </cn> <ci> c </ci> </set> </apply> </math> Intermediate representation: (union nil (set ((type normal)) b 2 c) (set nil b r 2 4 c)) <OMOBJ> <OMA> <OMS cd="set1" name="union"> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMV name="r"/> <OMI> 2 </OMI> <OMI> 4 </OMI> <OMV name="c"/> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><intersect definitionurl="www.mit.edu"/> <ci type="set"> A </ci> <ci type="set"> B </ci> </apply> </math> Intermediate representation: (intersect ((definitionurl (w w w !. m i t !. e d u))) (ci ((type set)) a) (ci ( (type set)) b)) <OMOBJ> <OMA> <OMS cd="set1" name="intersect"> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(set set_type)set_type"> </OMATP> <OMV name="a"/> </OMATTR> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(set set_type)set_type"> </OMATP> <OMV name="b"/> </OMATTR> </OMA> </OMOBJ> mml2om(); <math> <apply><intersect/> <set> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </set> <set> <ci> b </ci> <ci> r </ci> <cn> 2 </cn> <cn> 4 </cn> <ci> c </ci> </set> </apply> </math> Intermediate representation: (intersect nil (set nil b 2 c) (set nil b r 2 4 c)) <OMOBJ> <OMA> <OMS cd="set1" name="intersect"> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> <OMA> <OMS cd="set1" name="set"/> <OMV name="b"/> <OMV name="r"/> <OMI> 2 </OMI> <OMI> 4 </OMI> <OMV name="c"/> </OMA> </OMA> </OMOBJ> mml2om(); <math> <reln><in definitionurl="www.www.www"/> <ci> a </ci> <ci type="set"> A </ci> </reln> </math> Intermediate representation: (in ((definitionurl (w w w !. w w w !. w w w))) a (ci ((type set)) a)) <OMOBJ> <OMA> <OMS cd="set1" name="in"> <OMV name="a"/> <OMATTR> <OMATP> <OMS cd="typmml" name="type"> <OMS cd="typmml" name="(set set_type)set_type"> </OMATP> <OMV name="a"/> </OMATTR> </OMA> </OMOBJ> mml2om(); <math> <reln><notin definitionurl="www.www.www"/> <ci> a </ci> <ci> A </ci> </reln> </math> Intermediate representation: (notin ((definitionurl (w w w !. w w w !. w w w))) a a) <OMOBJ> <OMA> <OMS cd="set1" name="notin"> <OMV name="a"/> <OMV name="a"/> </OMA> </OMOBJ> mml2om(); <math> <reln><prsubset definitionurl="www.www.www"/> <ci> A </ci> <ci> B </ci> </reln> </math> Intermediate representation: (prsubset ((definitionurl (w w w !. w w w !. w w w))) a b) <OMOBJ> <OMA> <OMS cd="set1" name="prsubset"> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <reln><notsubset definitionurl="www.www.www"/> <ci> A </ci> <ci> B </ci> </reln> </math> Intermediate representation: (notsubset ((definitionurl (w w w !. w w w !. w w w))) a b) <OMOBJ> <OMA> <OMS cd="set1" name="notsubset"> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <reln><notprsubset definitionurl="www.www.www"/> <ci> A </ci> <ci> B </ci> </reln> </math> Intermediate representation: (notprsubset ((definitionurl (w w w !. w w w !. w w w))) a b) <OMOBJ> <OMA> <OMS cd="set1" name="notprsubset"> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <apply><setdiff definitionurl="www.www.www"/> <ci> A </ci> <ci> B </ci> </apply> </math> Intermediate representation: (setdiff ((definitionurl (w w w !. w w w !. w w w))) a b) <OMOBJ> <OMA> <OMS cd="set1" name="setdiff"> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <apply><sum/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit> <uplimit> <ci> b </ci> </uplimit> <apply><fn><ci> f </ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (sum nil (bvar x 1) (lowupperlimit a b) (f nil x)) <OMOBJ> <OMA> <OMS cd="arith1" name="sum"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><product/> <bvar> <ci> x </ci> </bvar> <lowlimit> <ci> a </ci> </lowlimit> <uplimit> <ci> b </ci> </uplimit> <apply><fn><ci> f </ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (product nil (bvar x 1) (lowupperlimit a b) (f nil x)) <OMOBJ> <OMA> <OMS cd="arith1" name="product"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><limit/> <bvar> <ci> V </ci> </bvar> <condition> <apply> <tendsto type=above/> <ci> V </ci> <cn> 0 </cn> </apply> </condition> <apply><divide/> <apply><int/> <bvar> <ci> S</ci> </bvar> <ci> a </ci> </apply> <ci> V </ci> </apply> </apply> </math> Intermediate representation: (limit nil (bvar v 1) (condition (tendsto ((type above)) v 0)) (divide nil (int nil (bvar s 1) nil a) v)) <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMI> 0 </OMI> <OMS cd="limit1" name="above"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="v"/> </OMBVAR> <OMA> <OMS cd="arith1" name="divide"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="s"/> </OMBVAR> <OMV name="a"/> </OMBIND> </OMA> <OMV name="v"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><limit/> <bvar> <ci> x </ci> </bvar> <lowlimit> <cn> 0 </cn> </lowlimit> <apply><sin/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (limit nil (bvar x 1) (lowlimit 0) (sin nil x)) <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMI> 0 </OMI> <OMS cd="limit1" name="null"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><limit/> <bvar> <ci> x </ci> </bvar> <condition> <reln> <tendsto type="above"/> <ci> x </ci> <ci> a </ci> </reln> </condition> <apply><sin/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (limit nil (bvar x 1) (condition (tendsto ((type above)) x a)) (sin nil x)) <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMV name="a"/> <OMS cd="limit1" name="above"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><sin/> <apply><plus/> <apply><cos/> <ci> x </ci> </apply> <apply><power/> <ci> x </ci> <cn> 3 </cn> </apply> </apply> </apply> </math> Intermediate representation: (sin nil (plus nil (cos nil x) (power nil x 3))) <OMOBJ> <OMA> <OMS cd="transc1" name="sin"> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="transc1" name="cos"> <OMV name="x"/> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMI> 3 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><mean/> <ci> b </ci> <ci> r </ci> <cn> 2 </cn> <cn> 4 </cn> <ci> c </ci> </apply> </math> Intermediate representation: (mean nil b r 2 4 c) <OMOBJ> <OMA> <OMS cd="stats1" name="mean"> <OMV name="b"/> <OMV name="r"/> <OMI> 2 </OMI> <OMI> 4 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <apply><sdev/> <ci> b </ci> <ci> r </ci> <cn> 2 </cn> <cn> 4 </cn> <ci> c </ci> </apply> </math> Intermediate representation: (sdev nil b r 2 4 c) <OMOBJ> <OMA> <OMS cd="stats1" name="sdev"> <OMV name="b"/> <OMV name="r"/> <OMI> 2 </OMI> <OMI> 4 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <apply><var/> <ci> b </ci> <ci> r </ci> <cn> 2 </cn> <cn> 4 </cn> <ci> c </ci> </apply> </math> Intermediate representation: (variance nil b r 2 4 c) <OMOBJ> <OMA> <OMS cd="stats1" name="variance"> <OMV name="b"/> <OMV name="r"/> <OMI> 2 </OMI> <OMI> 4 </OMI> <OMV name="c"/> </OMA> </OMOBJ> mml2om(); <math> <vector> <cn> 1 </cn> <cn> 2 </cn> <cn> 3 </cn> <ci> x </ci> </vector> </math> Intermediate representation: (vectorml nil 1 2 3 x) <OMOBJ> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMV name="x"/> </OMA> </OMOBJ> mml2om(); <math> <matrix> <matrixrow> <cn> 0 </cn> <cn> 1 </cn> <cn> 0 </cn> </matrixrow> <matrixrow> <cn> 0 </cn> <cn> 0 </cn> <cn> 1 </cn> </matrixrow> <matrixrow> <cn> 1 </cn> <cn> 0 </cn> <cn> 0 </cn> </matrixrow> </matrix> </math> Intermediate representation: (matrix nil matrixrow ((0 1 0) (0 0 1) (1 0 0))) <OMOBJ> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 1 </OMI> <OMI> 0 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 0 </OMI> <OMI> 0 </OMI> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><determinant/> <matrix> <matrixrow> <cn> 3 </cn> <cn> 1 </cn> <cn> 5 </cn> </matrixrow> <matrixrow> <cn> 7 </cn> <cn> 0 </cn> <cn> 2 </cn> </matrixrow> <matrixrow> <cn> 1 </cn> <cn> 7 </cn> <cn> 8 </cn> </matrixrow> </matrix> </apply> </math> Intermediate representation: (determinant nil (matrix nil matrixrow ((3 1 5) (7 0 2) (1 7 8)))) <OMOBJ> <OMA> <OMS cd="linalg3" name="determinant"> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 3 </OMI> <OMI> 1 </OMI> <OMI> 5 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 7 </OMI> <OMI> 0 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 7 </OMI> <OMI> 8 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><transpose/> <matrix> <matrixrow> <cn> 3 </cn> <cn> 1 </cn> <cn> 5 </cn> </matrixrow> <matrixrow> <cn> 7 </cn> <cn> 0 </cn> <cn> 2 </cn> </matrixrow> <matrixrow> <cn> 1 </cn> <cn> 7 </cn> <cn> 8 </cn> </matrixrow> </matrix> </apply> </math> Intermediate representation: (transpose nil (matrix nil matrixrow ((3 1 5) (7 0 2) (1 7 8)))) <OMOBJ> <OMA> <OMS cd="linalg3" name="transpose"> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 3 </OMI> <OMI> 1 </OMI> <OMI> 5 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 7 </OMI> <OMI> 0 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 7 </OMI> <OMI> 8 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><selector/> <matrix> <matrixrow> <cn> 1 </cn> <cn> 2 </cn> </matrixrow> <matrixrow> <cn> 3 </cn> <cn> 4 </cn> </matrixrow> </matrix> <cn> 1 </cn> </apply> </math> Intermediate representation: (selector nil (matrix nil matrixrow ((1 2) (3 4))) 1 nil) <OMOBJ> <OMA> <OMS cd="linalg3" name="matrix_selector"/> <OMI> 1 </OMI> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 3 </OMI> <OMI> 4 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><select/> <matrix> <matrixrow> <cn> 1 </cn> <cn> 2 </cn> </matrixrow> <matrixrow> <cn> 3 </cn> <cn> 4 </cn> </matrixrow> </matrix> <cn> 2 </cn> <cn> 2 </cn> </apply> </math> Intermediate representation: (selector nil (matrix nil matrixrow ((1 2) (3 4))) 2 2) <OMOBJ> <OMA> <OMS cd="linalg3" name="matrix_selector"/> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 3 </OMI> <OMI> 4 </OMI> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><determinant/> <matrix> <matrixrow> <ci>a</ci> <cn type="integer">1</cn> </matrixrow> <matrixrow> <cn type="integer">2</cn> <ci>s</ci> </matrixrow> </matrix> </apply> </math> Intermediate representation: (determinant nil (matrix nil matrixrow ((a 1) (2 s)))) <OMOBJ> <OMA> <OMS cd="linalg3" name="determinant"> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMV name="a"/> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 2 </OMI> <OMV name="s"/> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><determinant/> <apply><transpose/> <matrix> <matrixrow> <cn type="integer">1</cn> <cn type="integer">2</cn> <cn type="integer">3</cn> <cn type="integer">4</cn> </matrixrow> <matrixrow> <cn type="integer">1</cn> <cn type="integer">2</cn> <cn type="integer">1</cn> <cn type="integer">2</cn> </matrixrow> <matrixrow> <cn type="integer">2</cn> <cn type="integer">3</cn> <cn type="integer">2</cn> <cn type="integer">1</cn> </matrixrow> <matrixrow> <cn type="integer">2</cn> <cn type="integer">1</cn> <cn type="integer">1</cn> <cn type="integer">1</cn> </matrixrow> </matrix> </apply> </apply> </math> Intermediate representation: (determinant nil (transpose nil (matrix nil matrixrow ((1 2 3 4) (1 2 1 2) (2 3 2 1) (2 1 1 1))))) <OMOBJ> <OMA> <OMS cd="linalg3" name="determinant"> <OMA> <OMS cd="linalg3" name="transpose"> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMI> 4 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 1 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMI> 2 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 2 </OMI> <OMI> 1 </OMI> <OMI> 1 </OMI> <OMI> 1 </OMI> </OMA> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><plus/> <apply><times/> <cn type="integer">2</cn> <apply><cos/> <ci>x</ci> </apply> <ci>x</ci> </apply> <apply><minus/> <apply><times/> <apply><sin/> <ci>x</ci> </apply> <apply><power/> <ci>x</ci> <cn type="integer">2</cn> </apply> </apply> </apply> </apply> </math> Intermediate representation: (plus nil (times nil 2 (cos nil x) x) (minus nil (times nil (sin nil x) (power nil x 2)))) <OMOBJ> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="times"> <OMI> 2 </OMI> <OMA> <OMS cd="transc1" name="cos"> <OMV name="x"/> </OMA> <OMV name="x"/> </OMA> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="transc1" name="sin"> <OMV name="x"/> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMI> 2 </OMI> </OMA> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <list> <reln><eq/> <ci>x</ci> <apply><plus/> <cn type="constant">ⅈ</cn> <apply><minus/> <cn type="integer">1</cn> </apply> </apply> </reln> <reln><eq/> <ci>x</ci> <apply><plus/> <apply><minus/> <cn type="constant">ⅈ</cn> </apply> <apply><minus/> <cn type="integer">1</cn> </apply> </apply> </reln> </list> </math> Intermediate representation: (list nil (eq nil x (plus nil !&imaginaryi!; (minus nil 1))) (eq nil x (plus nil (minus nil !&imaginaryi!;) (minus nil 1)))) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMS cd="arith1" name="plus"> <OMS cd="nums1" name="i"/> <OMA> <OMS cd="arith1" name="minus"> <OMI> 1 </OMI> </OMA> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="minus"> <OMS cd="nums1" name="i"/> </OMA> <OMA> <OMS cd="arith1" name="minus"> <OMI> 1 </OMI> </OMA> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><plus/> <apply><minus/> <apply><times/> <apply><cos/> <apply><times/> <ci>x</ci> <ci>y</ci> </apply> </apply> <ci>x</ci> <ci>y</ci> </apply> </apply> <apply><times/> <apply><power/> <cn type="integer">2</cn> <apply><times/> <ci>x</ci> <ci>y</ci> </apply> </apply> <apply><power/> <apply><log/> <cn type="integer">2</cn> </apply> <cn type="integer">2</cn> </apply> <ci>x</ci> <ci>y</ci> </apply> <apply><times/> <apply><power/> <cn type="integer">2</cn> <apply><times/> <ci>x</ci> <ci>y</ci> </apply> </apply> <apply><log/> <cn type="integer">2</cn> </apply> </apply> <apply><minus/> <apply><sin/> <apply><times/> <ci>x</ci> <ci>y</ci> </apply> </apply> </apply> <cn type="integer">1</cn> </apply> </math> Intermediate representation: (plus nil (minus nil (times nil (cos nil (times nil x y)) x y)) (times nil ( power nil 2 (times nil x y)) (power nil (log nil nil 2) 2) x y) (times nil ( power nil 2 (times nil x y)) (log nil nil 2)) (minus nil (sin nil (times nil x y ))) 1) <OMOBJ> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="transc1" name="cos"> <OMA> <OMS cd="arith1" name="times"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="arith1" name="power"> <OMI> 2 </OMI> <OMA> <OMS cd="arith1" name="times"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMA> <OMS cd="transc1" name="log"> <OMI> 2 </OMI> </OMA> <OMI> 2 </OMI> </OMA> <OMV name="x"/> <OMV name="y"/> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="arith1" name="power"> <OMI> 2 </OMI> <OMA> <OMS cd="arith1" name="times"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> <OMA> <OMS cd="transc1" name="log"> <OMI> 2 </OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="transc1" name="sin"> <OMA> <OMS cd="arith1" name="times"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> <OMI> 1 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><eq/> <cn>2</cn> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (eq nil 2 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="eq"> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><eq/> <cn>2</cn> <ci>A</ci> <ci>u</ci> </reln> </math> Intermediate representation: (eq nil 2 a u) <OMOBJ> <OMA> <OMS cd="relation1" name="eq"> <OMI> 2 </OMI> <OMV name="a"/> <OMV name="u"/> </OMA> </OMOBJ> mml2om(); <math> <reln><neq/> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (neq nil 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="neq"> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><neq/> <cn>2</cn> <ci>A</ci> </reln> </math> Intermediate representation: (neq nil 2 a) <OMOBJ> <OMA> <OMS cd="relation1" name="neq"> <OMI> 2 </OMI> <OMV name="a"/> </OMA> </OMOBJ> mml2om(); <math> <reln><lt/> <cn>2</cn> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (lt nil 2 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="lt"> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><lt/> <cn>2</cn> <ci>A</ci> <ci>u</ci> </reln> </math> Intermediate representation: (lt nil 2 a u) <OMOBJ> <OMA> <OMS cd="relation1" name="lt"> <OMI> 2 </OMI> <OMV name="a"/> <OMV name="u"/> </OMA> </OMOBJ> mml2om(); <math> <reln><gt/> <cn>2</cn> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (gt nil 2 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="gt"> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><gt/> <cn>2</cn> <ci>A</ci> <ci>u</ci> </reln> </math> Intermediate representation: (gt nil 2 a u) <OMOBJ> <OMA> <OMS cd="relation1" name="gt"> <OMI> 2 </OMI> <OMV name="a"/> <OMV name="u"/> </OMA> </OMOBJ> mml2om(); <math> <reln><geq/> <cn>2</cn> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (geq nil 2 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="geq"> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><geq/> <cn>2</cn> <ci>A</ci> <ci>u</ci> </reln> </math> Intermediate representation: (geq nil 2 a u) <OMOBJ> <OMA> <OMS cd="relation1" name="geq"> <OMI> 2 </OMI> <OMV name="a"/> <OMV name="u"/> </OMA> </OMOBJ> mml2om(); <math> <reln><leq/> <cn>2</cn> <cn>2</cn> <cn>2</cn> </reln> </math> Intermediate representation: (leq nil 2 2 2) <OMOBJ> <OMA> <OMS cd="relation1" name="leq"> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> mml2om(); <math> <reln><leq/> <cn>2</cn> <ci>A</ci> <ci>u</ci> </reln> </math> Intermediate representation: (leq nil 2 a u) <OMOBJ> <OMA> <OMS cd="relation1" name="leq"> <OMI> 2 </OMI> <OMV name="a"/> <OMV name="u"/> </OMA> </OMOBJ> %The following examples work perfectly when read %in by mml2om() and prove that the tags employed %work correctly. The ir output can then be used %to see if the mathml produced works: mml2om(); <math> <apply><int/> <bvar> <ci>x</ci> </bvar> <lowlimit> <cn type="integer">0</cn> </lowlimit> <uplimit> <cn type="integer">1</cn> </uplimit> <apply><power/> <ci>x</ci> <cn type="integer">2</cn> </apply> </apply> </math> Intermediate representation: (int nil (bvar x 1) (lowupperlimit 0 1) (power nil x 2)) <OMOBJ> <OMA> <OMS cd="calculus1" name="defint"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x"/> <OMI> 2 </OMI> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><int/> <bvar> <ci>x</ci> </bvar> <lowlimit> <cn type="integer">1</cn> </lowlimit> <uplimit> <cn type="constant">∞</cn> </uplimit> <ci>x</ci> </apply> </math> Intermediate representation: (int nil (bvar x 1) (lowupperlimit 1 !&infin!;) x) <OMOBJ> <OMA> <OMS cd="calculus1" name="defint"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMI> 1 </OMI> <OMS cd="nums1" name="infinity"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMV name="x"/> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <apply><int/> <bvar> <ci> x </ci> </bvar> <interval> <ci> a </ci> <ci> b </ci> </interval> <apply><cos/> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (int nil (bvar x 1) (interval nil a b) (cos nil x)) <OMOBJ> <OMA> <OMS cd="calculus1" name="defint"/> <OMA> <OMS cd="interval1" name="interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="cos"> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> %this example is MathML1.0 and when passed %through function mml2om() it translates it to %MathML2.0 mml2om(); <math> <apply><diff/> <bvar> <ci> x </ci> <degree> <cn> 2 </cn> </degree> </bvar> <apply><fn><ci>f</ci></fn> <ci> x </ci> </apply> </apply> </math> Intermediate representation: (diff nil (bvar x 1) (diff nil (bvar x 1) (f nil x))) <OMOBJ> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMBIND> </OMA> </OMOBJ> mml2om(); <math> <list> <apply><plus/> <ci> x </ci> <ci> y </ci> </apply> <cn> 3 </cn> <cn> 7 </cn> </list> </math> Intermediate representation: (list nil (plus nil x y) 3 7) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="arith1" name="plus"> <OMV name="x"/> <OMV name="y"/> </OMA> <OMI> 3 </OMI> <OMI> 7 </OMI> </OMA> </OMOBJ> mml2om(); <math> <interval closure="open-closed"> <ci> a </ci> <ci> b </ci> </interval> </math> Intermediate representation: (interval ((closure open!-closed)) a b) <OMOBJ> <OMA> <OMS cd="interval1" name="interval_oc"/> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <interval> <ci> a </ci> <ci> b </ci> </interval> </math> Intermediate representation: (interval nil a b) <OMOBJ> <OMA> <OMS cd="interval1" name="interval"/> <OMV name="a"/> <OMV name="b"/> </OMA> </OMOBJ> mml2om(); <math> <list> <list> <reln><eq/> <ci>x</ci> <apply> <csymbol definitionURL="..." encoding="..."> <ci>root_of</ci> </csymbol> <apply><plus/> <apply><minus/> <apply><power/> <ci>y</ci> <ci>x_</ci> </apply> </apply> <apply><minus/> <apply><times/> <apply><int/> <bvar> <ci>x_</ci> </bvar> <apply><power/> <ci>x_</ci> <ci>x_</ci> </apply> </apply> <ci>y</ci> </apply> </apply> <ci>x_</ci> <ci>y</ci> </apply> <ci>x_</ci> <ci>tag_1</ci> </apply> </reln> <reln><eq/> <ci>a</ci> <apply><plus/> <ci>x</ci> <ci>y</ci> </apply> </reln> </list> </list> </math> Intermediate representation: (list nil (list nil (eq nil x (root_of nil (plus nil (minus nil (power nil y x_) ) (minus nil (times nil (int nil (bvar x_ 1) nil (power nil x_ x_)) y)) x_ y) x_ tag_1)) (eq nil a (plus nil x y)))) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="root_of"/> </OMATTR> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="power"> <OMV name="y"/> <OMV name="x_"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMV name="y"/> </OMA> </OMA> <OMV name="x_"/> <OMV name="y"/> </OMA> <OMV name="x_"/> <OMV name="tag_1"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMV name="a"/> <OMA> <OMS cd="arith1" name="plus"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <list> <list> <reln><eq/> <ci>x</ci> <apply> <csymbol definitionURL="..." encoding="..."> <ci>root_of</ci> </csymbol> <apply><plus/> <apply><times/> <apply><exp/> <apply><plus/> <cn type="constant">ⅈ</cn> <ci>x_</ci> </apply> </apply> <ci>y</ci> </apply> <apply><exp/> <apply><plus/> <cn type="constant">ⅈ</cn> <ci>x_</ci> </apply> </apply> <apply><power/> <ci>x_</ci> <apply><plus/> <ci>y</ci> <cn type="integer">1</cn> </apply> </apply> <apply><times/> <apply><int/> <bvar> <ci>x_</ci> </bvar> <apply><power/> <ci>x_</ci> <ci>x_</ci> </apply> </apply> <apply><power/> <ci>y</ci> <cn type="integer">2</cn> </apply> </apply> <apply><times/> <apply><int/> <bvar> <ci>x_</ci> </bvar> <apply><power/> <ci>x_</ci> <ci>x_</ci> </apply> </apply> <ci>y</ci> </apply> </apply> <ci>x_</ci> <ci>tag_2</ci> </apply> </reln> <reln><eq/> <ci>z</ci> <ci>y</ci> </reln> </list> </list> </math> Intermediate representation: (list nil (list nil (eq nil x (root_of nil (plus nil (times nil (exp nil (plus nil !&imaginaryi!; x_)) y) (exp nil (plus nil !&imaginaryi!; x_)) (power nil x_ (plus nil y 1)) (times nil (int nil (bvar x_ 1) nil (power nil x_ x_)) (power nil y 2)) (times nil (int nil (bvar x_ 1) nil (power nil x_ x_)) y)) x_ tag_2)) (eq nil z y))) <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="root_of"/> </OMATTR> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="transc1" name="exp"> <OMA> <OMS cd="arith1" name="plus"> <OMS cd="nums1" name="i"/> <OMV name="x_"/> </OMA> </OMA> <OMV name="y"/> </OMA> <OMA> <OMS cd="transc1" name="exp"> <OMA> <OMS cd="arith1" name="plus"> <OMS cd="nums1" name="i"/> <OMV name="x_"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMA> <OMS cd="arith1" name="plus"> <OMV name="y"/> <OMI> 1 </OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="y"/> <OMI> 2 </OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMV name="y"/> </OMA> </OMA> <OMV name="x_"/> <OMV name="tag_2"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMV name="z"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><curl/> <vector> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </vector> </apply> </math> Intermediate representation: (curl nil (vectorml nil b 2 c)) <OMOBJ> <OMA> <OMS cd="veccalc1" name="curl"> <OMA> <OMS cd="linalg1" name="vector"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><divergence/> <vector> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </vector> </apply> </math> Intermediate representation: (divergence nil (vectorml nil b 2 c)) <OMOBJ> <OMA> <OMS cd="veccalc1" name="divergence"> <OMA> <OMS cd="linalg1" name="vector"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><laplacian/> <vector> <ci> b </ci> <cn> 2 </cn> <ci> c </ci> </vector> </apply> </math> Intermediate representation: (laplacian nil (vectorml nil b 2 c)) <OMOBJ> <OMA> <OMS cd="veccalc1" name="laplacian"> <OMA> <OMS cd="linalg1" name="vector"/> <OMV name="b"/> <OMI> 2 </OMI> <OMV name="c"/> </OMA> </OMA> </OMOBJ> mml2om(); <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <apply><eq/> <apply><inverse/> <apply><inverse/> <ci> a </ci> </apply> </apply> <ci> a </ci> </apply> </apply> </math> Intermediate representation: (forall nil (bvar a 1) nil (eq nil (inverse nil (inverse nil a)) a)) <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="a"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"> <OMA> <OMS cd="fns1" name="inverse"> <OMA> <OMS cd="fns1" name="inverse"> <OMV name="a"/> </OMA> </OMA> <OMV name="a"/> </OMA> </OMBIND> </OMOBJ> %end; %in "$reduce/packages/mathml/examples.om"; % Description: This file contains a long list of examples demonstrating the abilities of % the translator. Most of these examples come straight from the CDs. They % were used during the development of the interface and should all be correctly % translated into MathML. % % Version 17 April 2000 % % Author: Luis Alvarez Sobreviela % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% om2mml(); <OMOBJ> <OMA> <OMS cd="arith1" name="plus"/> <OMV name=f/> <OMV name=d/> <OMA> <OMS cd="arith1" name="plus"/> <OMI>1</OMI> <OMF dec=1e10/> </OMA> </OMA> </OMOBJ> Intermediate representation: (plus nil f d (plus nil 1 10000000000.0)) <math> <apply><plus/> <ci> f </ci> <ci> d </ci> <apply><plus/> <cn type="integer"> 1 </cn> <cn type="real"> 10000000000.0 </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd=fns1 name=lambda/> <OMBVAR> <OMV name=x/> </OMBVAR> <OMA> <OMS cd="transc1" name=sin/> <OMV name=x/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (lambda nil (bvar x 1) (sin nil x)) <math> <lambda> <bvar> <ci> x </ci> </bvar> <apply><sin/> <ci> x </ci> </apply> </lambda> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd=fns1 name=lambda/> <OMBVAR> <OMV name=x/> <OMV name=y/> </OMBVAR> <OMA> <OMS cd="arith1" name=plus/> <OMV name=x/> <OMA> <OMS cd="transc1" name=sin/> <OMV name=y/> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (lambda nil (bvar x 1) (bvar y 1) (plus nil x (sin nil y))) <math> <lambda> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <apply><plus/> <ci> x </ci> <apply><sin/> <ci> y </ci> </apply> </apply> </lambda> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="arith1" name=plus/> <OMV name=x/> <OMA> <OMS cd="transc1" name=sin/> <OMV name=x/> </OMA> </OMA> </OMOBJ> Intermediate representation: (plus nil x (sin nil x)) <math> <apply><plus/> <ci> x </ci> <apply><sin/> <ci> x </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="relation1" name="leq"/> <OMA> <OMS cd="arith1" name="abs"/> <OMA> <OMS cd="transc1" name="sin"/> <OMV name="x"/> </OMA> </OMA> <OMF dec="1.0"/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (leq nil (abs nil (sin nil x)) 1.0)) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <apply><leq/> <apply><abs/> <apply><sin/> <ci> x </ci> </apply> </apply> <cn type="real"> 1.0 </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="not"/> <OMBIND> <OMS cd="quant1" name="exists"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> <OMV name="z"/> <OMV name="n"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="gt"/> <OMV name="n"/> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="arith1" name="power"/> <OMV name="x"/> <OMV name="n"/> </OMA> <OMA> <OMS cd="arith1" name="power"/> <OMV name="y"/> <OMV name="n"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="power"/> <OMV name="z"/> <OMV name="n"/> </OMA> </OMA> </OMA> </OMBIND> </OMA> </OMOBJ> Intermediate representation: (not nil (exists nil (bvar x 1) (bvar y 1) (bvar z 1) (bvar n 1) (and nil (gt nil n 2) (eq nil (plus nil (power nil x n) (power nil y n)) (power nil z n))))) <math> <apply><not/> <apply><exists/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <bvar> <ci> z </ci> </bvar> <bvar> <ci> n </ci> </bvar> <apply><and/> <apply><gt/> <ci> n </ci> <cn type="integer"> 2 </cn> </apply> <apply><eq/> <apply><plus/> <apply><power/> <ci> x </ci> <ci> n </ci> </apply> <apply><power/> <ci> y </ci> <ci> n </ci> </apply> </apply> <apply><power/> <ci> z </ci> <ci> n </ci> </apply> </apply> </apply> </apply> </apply> </math> % The following two examples show how the translator % can deal with matrices represented either in columns % or rows. The translator then converts matrices % represented in columns into ones represented in % rows. Mapping to MathML is then possible. om2mml(); <OMOBJ> <OMA> <OMS cd="linalg2" name="matrix"/> <OMA> <OMS cd="linalg2" name="matrixcolumn"/> <OMI> 1 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg2" name="matrixcolumn"/> <OMI> 3 </OMI> <OMI> 4 </OMI> </OMA> <OMA> <OMS cd="linalg2" name="matrixcolumn"/> <OMI> 5 </OMI> <OMI> 6 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (matrix nil matrixcolumn ((1 2) (3 4) (5 6))) <math> <matrix> <matrixrow> <cn type="integer"> 1 </cn> <cn type="integer"> 3 </cn> <cn type="integer"> 5 </cn> </matrixrow> <matrixrow> <cn type="integer"> 2 </cn> <cn type="integer"> 4 </cn> <cn type="integer"> 6 </cn> </matrixrow> </matrix> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg2" name="matrix"/> <OMA> <OMS cd="linalg2" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 0 </OMI> </OMA> <OMA> <OMS cd="linalg2" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (matrix nil matrixrow ((1 0) (0 1))) <math> <matrix> <matrixrow> <cn type="integer"> 1 </cn> <cn type="integer"> 0 </cn> </matrixrow> <matrixrow> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> </matrixrow> </matrix> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="M"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMA> <OMS cd="linalg3" name="identity"/> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> </OMA> <OMV name="M"/> </OMA> <OMV name="M"/> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMV name="M"/> <OMA> <OMS cd="linalg3" name="identity"/> <OMA> <OMS cd="linalg3" name="columncount"/> <OMV name="M"/> </OMA> </OMA> </OMA> <OMV name="M"/> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar m 1) (and nil (eq nil (times nil (semantic (identity (o m s c d = " l i n a l g 3 " n a m e = " i d e n t i t y " /)) (semantic (rowcount (o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m)) m) m) ( eq nil (times nil m (semantic (identity (o m s c d = " l i n a l g 3 " n a m e = " i d e n t i t y " /)) (semantic (columncount (o m s c d = " l i n a l g 3 " n a m e = " c o l u m n c o u n t " /)) m))) m))) <math> <apply><forall/> <bvar> <ci> m </ci> </bvar> <apply><and/> <apply><eq/> <apply><times/> <apply> <fn> <semantic> <ci><mo>identity</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="identity"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> <ci> m </ci> </apply> <ci> m </ci> </apply> <apply><eq/> <apply><times/> <ci> m </ci> <apply> <fn> <semantic> <ci><mo>identity</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="identity"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>columncount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="columncount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> </apply> <ci> m </ci> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="limit1" name="limit"/> <OMF dec="0.0"/> <OMS cd="limit1" name="above"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"/> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> Intermediate representation: (limit nil (bvar x 1) (condition (tendsto ((type above)) x 0.0)) (sin nil x)) <math> <apply><limit/> <bvar> <ci> x </ci> </bvar> <condition> <apply><tendsto type="above"/> <ci> x </ci> <cn type="real"> 0.0 </cn> </apply> </condition> <apply><sin/> <ci> x </ci> </apply> </apply> </math> % This following example will show that the translator only % identifies the limit symbol of the limit1 CD om2mml(); <OMOBJ> <OMA> <OMS cd="fakeCD" name="limit"/> <OMF dec="0.0"/> <OMS cd="limit1" name="above"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"/> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> Intermediate representation: (semantic (limit (o m s c d = " f a k e c d " n a m e = " l i m i t " /)) nil (bvar x 1) (condition (tendsto ((type above)) x 0.0)) (sin nil x)) <math> <apply> <fn> <semantic> <ci><mo>limit</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="fakecd" name="limit"/> </annotation-xml> </semantic> </fn> <bvar> <ci> x </ci> </bvar> <condition> <apply><tendsto type="above"/> <ci> x </ci> <cn type="real"> 0.0 </cn> </apply> </condition> <apply><sin/> <ci> x </ci> </apply> </apply> </math> % The following two examples show how the translator % recognizes whether a symbol has a mathml equivalent % depending on the CD it comes from. % They both use symbol 'notsubset' but from different % CDs. Only one of them can be mapped to MathML % and the program distinguishes it by checking if % the CD given is the correct one on its table % om_mml!*. om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="notsubset"/> <OMA> <OMS cd="multiset1" name="set"/> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMI> 3 </OMI> </OMA> <OMA> <OMS cd="multiset1" name="set"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (notsubset nil (set nil 2 3 3) (set nil 1 2 3)) <math> <apply><notsubset/> <set> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> <cn type="integer"> 3 </cn> </set> <set> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="set1" name="notsubset"/> <OMA> <OMS cd="multiset1" name="set"/> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMI> 3 </OMI> </OMA> <OMA> <OMS cd="multiset1" name="set"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (notsubset nil (set nil 2 3 3) (set nil 1 2 3)) <math> <apply><notsubset/> <set> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> <cn type="integer"> 3 </cn> </set> <set> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <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> Intermediate representation: (forall nil (bvar a 1) (bvar b 1) (eq nil (plus nil a b) (plus nil b a))) <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <bvar> <ci> b </ci> </bvar> <apply><eq/> <apply><plus/> <ci> a </ci> <ci> b </ci> </apply> <apply><plus/> <ci> b </ci> <ci> a </ci> </apply> </apply> </apply> </math> % Example of a symbol which has a MathML equivalent % but under another name. om2mml(); <OMOBJ> <OMA> <OMS cd="arith1" name="unary_minus"/> <OMI> 1 </OMI> </OMA> </OMOBJ> Intermediate representation: (minus nil 1) <math> <apply><minus/> <cn type="integer"> 1 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="logic1" name="not"/> <OMS cd="logic1" name="false"/> </OMA> <OMS cd="logic1" name="true"/> </OMA> </OMOBJ> Intermediate representation: (eq nil (not nil &false;) &true;) <math> <apply><eq/> <apply><not/> <cn type="constant"> &false; </cn> </apply> <cn type="constant"> &true; </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMA> <OMS cd="fns1" name="identity"/> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> </OMA> <OMV name="M"/> </OMA> <OMV name="M"/> </OMA> </OMOBJ> Intermediate representation: (eq nil (times nil (semantic (identity (o m s c d = " f n s 1 " n a m e = " i d e n t i t y " /)) (semantic (rowcount (o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m)) m) m) <math> <apply><eq/> <apply><times/> <apply> <fn> <semantic> <ci><mo>identity</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="fns1" name="identity"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> <ci> m </ci> </apply> <ci> m </ci> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg1" name="scalarproduct"/> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 3 </OMI> <OMI> 6 </OMI> <OMI> 9 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 3 </OMI> <OMI> 6 </OMI> <OMI> 9 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (scalarproduct nil (vectorml nil 3 6 9) (vectorml nil 3 6 9)) <math> <apply><scalarproduct/> <vector> <cn type="integer"> 3 </cn> <cn type="integer"> 6 </cn> <cn type="integer"> 9 </cn> </vector> <vector> <cn type="integer"> 3 </cn> <cn type="integer"> 6 </cn> <cn type="integer"> 9 </cn> </vector> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg1" name="outerproduct"/> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 3 </OMI> <OMI> 6 </OMI> <OMI> 9 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 3 </OMI> <OMI> 6 </OMI> <OMI> 9 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (outerproduct nil (vectorml nil 3 6 9) (vectorml nil 3 6 9)) <math> <apply><outerproduct/> <vector> <cn type="integer"> 3 </cn> <cn type="integer"> 6 </cn> <cn type="integer"> 9 </cn> </vector> <vector> <cn type="integer"> 3 </cn> <cn type="integer"> 6 </cn> <cn type="integer"> 9 </cn> </vector> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="a"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="a"/> <OMS cd="alg1" name="zero"/> </OMA> <OMV name="a"/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar a 1) (eq nil (plus nil a 0) a)) <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <apply><eq/> <apply><plus/> <ci> a </ci> <cn type="integer"> 0 </cn> </apply> <ci> a </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="a"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMS cd="alg1" name="one"/> <OMV name="a"/> </OMA> <OMV name="a"/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar a 1) (eq nil (times nil 1 a) a)) <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <apply><eq/> <apply><times/> <cn type="integer"> 1 </cn> <ci> a </ci> </apply> <ci> a </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="bigfloat1" name="bigfloat"/> <OMV name="m"/> <OMV name="r"/> <OMV name="e"/> </OMA> <OMA> <OMS cd="arith1" name="times"/> <OMV name="m"/> <OMA> <OMS cd="arith1" name="power"/> <OMV name="r"/> <OMV name="e"/> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil (semantic (bigfloat (o m s c d = " b i g f l o a t 1 " n a m e = " b i g f l o a t " /)) m r e) (times nil m (power nil r e))) <math> <apply><eq/> <apply> <fn> <semantic> <ci><mo>bigfloat</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="bigfloat1" name="bigfloat"/> </annotation-xml> </semantic> </fn> <ci> m </ci> <ci> r </ci> <ci> e </ci> </apply> <apply><times/> <ci> m </ci> <apply><power/> <ci> r </ci> <ci> e </ci> </apply> </apply> </apply> </math> % The integral symbols defint and int are ambigious as defined % in the CDs. They do not specify their variable of integration % explicitly. The following shows that when the function % to integrate is defined as a lambda expression, then the % bound variable is easily determined. However, in other % cases, it is not possible to determine the bound variable. om2mml(); <OMOBJ> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="transc1" name="sin"/> <OMV name="x"/> </OMA> </OMBIND> </OMA> </OMOBJ> Intermediate representation: (int nil (bvar x 1) (sin nil x)) <math> <apply><int/> <bvar> <ci> x </ci> </bvar> <apply><sin/> <ci> x </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="calculus1" name="int"/> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (int nil (bvar x 1) (plus nil x y)) <math> <apply><int/> <bvar> <ci> x </ci> </bvar> <apply><plus/> <ci> x </ci> <ci> y </ci> </apply> </apply> </math> % Some calculus om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="calculus1" name="diff"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="x"/> <OMF dec="1.0"/> </OMA> </OMBIND> </OMA> <OMF dec="1.0"/> </OMA> </OMOBJ> Intermediate representation: (eq nil (diff nil (bvar x 1) (plus nil x 1.0)) 1.0) <math> <apply><eq/> <apply><diff/> <bvar> <ci> x </ci> </bvar> <apply><plus/> <ci> x </ci> <cn type="real"> 1.0 </cn> </apply> </apply> <cn type="real"> 1.0 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="calculus1" name="partialdiff"/> <OMA> <OMS cd="list1" name="list"/> <OMI> 1 </OMI> <OMI> 3 </OMI> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> <OMV name="z"/> </OMBVAR> <OMA> <OMS cd="arith2" name="times"/> <OMV name="x"/> <OMV name="y"/> <OMV name="z"/> </OMA> </OMBIND> </OMA> <OMV name="y"/> </OMA> </OMOBJ> Intermediate representation: (eq nil (partialdiff nil (bvar z 1) (bvar x 1) (times nil x y z)) y) <math> <apply><eq/> <apply><partialdiff/> <bvar> <ci> z </ci> </bvar> <bvar> <ci> x </ci> </bvar> <apply><times/> <ci> x </ci> <ci> y </ci> <ci> z </ci> </apply> </apply> <ci> y </ci> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="integer1" name="factorial"/> <OMV name="n"/> </OMA> <OMA> <OMS cd="arith1" name="product"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMI> 1 </OMI> <OMV name="n"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="i"/> </OMBVAR> <OMV name="i"/> </OMBIND> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil (factorial nil n) (product nil (bvar i 1) (lowupperlimit nil 1 n) i)) <math> <apply><eq/> <apply><factorial/> <ci> n </ci> </apply> <apply><product/> <bvar> <ci> i </ci> </bvar> <lowlimit> <cn type="integer"> 1 </cn> </lowlimit> <uplimit> <ci> n </ci> </uplimit> <ci> i </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="not"/> <OMBIND> <OMS cd="quant1" name="exists"/> <OMBVAR> <OMV name="c"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="set1" name="in"/> <OMA> <OMS cd="arith1" name="divide"/> <OMV name="a"/> <OMV name="c"/> </OMA> <OMS cd="setname1" name="Z"/> </OMA> <OMA> <OMS cd="set1" name="in"/> <OMA> <OMS cd="arith1" name="divide"/> <OMV name="b"/> <OMV name="c"/> </OMA> <OMS cd="setname1" name="Z"/> </OMA> <OMA> <OMS cd="relation1" name="gt"/> <OMV name="c"/> <OMA> <OMS cd="integer1" name="gcd"/> <OMV name="a"/> <OMV name="b"/> </OMA> </OMA> </OMA> </OMBIND> </OMA> </OMOBJ> Intermediate representation: (not nil (exists nil (bvar c 1) (and nil (in nil (divide nil a c) (semantic (z ( o m s c d = " s e t n a m e 1 " n a m e = " z " /)))) (in nil (divide nil b c) (semantic (z (o m s c d = " s e t n a m e 1 " n a m e = " z " /)))) (gt nil c (gcd nil a b))))) <math> <apply><not/> <apply><exists/> <bvar> <ci> c </ci> </bvar> <apply><and/> <apply><in/> <apply><divide/> <ci> a </ci> <ci> c </ci> </apply> <semantic> <ci><mo>z</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="setname1" name="z"/> </annotation-xml> </semantic> </apply> <apply><in/> <apply><divide/> <ci> b </ci> <ci> c </ci> </apply> <semantic> <ci><mo>z</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="setname1" name="z"/> </annotation-xml> </semantic> </apply> <apply><gt/> <ci> c </ci> <apply><gcd/> <ci> a </ci> <ci> b </ci> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="logic1" name="implies"/> <OMS cd="logic1" name="false"/> <OMV name="x"/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (implies nil &false; x)) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <apply><implies/> <cn type="constant"> &false; </cn> <ci> x </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="minmax1" name="max"/> <OMI> 1 </OMI> <OMI> 9 </OMI> <OMI> 5 </OMI> </OMA> <OMI> 9 </OMI> </OMA> </OMOBJ> Intermediate representation: (eq nil (max nil 1 9 5) 9) <math> <apply><eq/> <apply><max/> <cn type="integer"> 1 </cn> <cn type="integer"> 9 </cn> <cn type="integer"> 5 </cn> </apply> <cn type="integer"> 9 </cn> </apply> </math> % The following examples belong to the multiset CD om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="multiset1" name="in"/> <OMV name="a"/> <OMV name="A"/> </OMA> <OMA> <OMS cd="multiset1" name="in"/> <OMV name="a"/> <OMV name="B"/> </OMA> </OMA> <OMA> <OMS cd="multiset1" name="in"/> <OMV name="a"/> <OMA> <OMS cd="multiset1" name="intersect"/> <OMV name="A"/> <OMV name="B"/> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (implies nil (and nil (in nil a a) (in nil a b)) (in nil a (intersect nil a b))) <math> <apply><implies/> <apply><and/> <apply><in/> <ci> a </ci> <ci> a </ci> </apply> <apply><in/> <ci> a </ci> <ci> b </ci> </apply> </apply> <apply><in/> <ci> a </ci> <apply><intersect/> <ci> a </ci> <ci> b </ci> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 4 </OMI> <OMI> 1 </OMI> <OMI> 0 </OMI> <OMI> 1 </OMI> <OMI> 4 </OMI> </OMA> </OMOBJ> Intermediate representation: (set ((type multiset)) 4 1 0 1 4) <math> <set type="multiset"> <cn type="integer"> 4 </cn> <cn type="integer"> 1 </cn> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> <cn type="integer"> 4 </cn> </set> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="multiset1" name="subset"/> <OMA> <OMS cd="multiset1" name="intersect"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMV name="A"/> </OMA> <OMA> <OMS cd="multiset1" name="subset"/> <OMA> <OMS cd="multiset1" name="intersect"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMV name="B"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (and nil (subset nil (intersect nil a b) a) (subset nil (intersect nil a b) b)) <math> <apply><and/> <apply><subset/> <apply><intersect/> <ci> a </ci> <ci> b </ci> </apply> <ci> a </ci> </apply> <apply><subset/> <apply><intersect/> <ci> a </ci> <ci> b </ci> </apply> <ci> b </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="multiset1" name="subset"/> <OMV name="A"/> <OMA> <OMS cd="multiset1" name="union"/> <OMV name="A"/> <OMV name="B"/> </OMA> </OMA> <OMA> <OMS cd="multiset1" name="subset"/> <OMV name="B"/> <OMA> <OMS cd="multiset1" name="union"/> <OMV name="A"/> <OMV name="B"/> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (and nil (subset nil a (union nil a b)) (subset nil b (union nil a b))) <math> <apply><and/> <apply><subset/> <ci> a </ci> <apply><union/> <ci> a </ci> <ci> b </ci> </apply> </apply> <apply><subset/> <ci> b </ci> <apply><union/> <ci> a </ci> <ci> b </ci> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="A"/> <OMV name="B"/> <OMV name="C"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="multiset1" name="union"/> <OMV name="A"/> <OMA> <OMS cd="multiset1" name="intersect"/> <OMV name="B"/> <OMV name="C"/> </OMA> </OMA> <OMA> <OMS cd="multiset1" name="intersect"/> <OMA> <OMS cd="multiset1" name="union"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMA> <OMS cd="multiset1" name="union"/> <OMV name="A"/> <OMV name="C"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar a 1) (bvar b 1) (bvar c 1) (eq nil (union nil a (intersect nil b c)) (intersect nil (union nil a b) (union nil a c)))) <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <bvar> <ci> b </ci> </bvar> <bvar> <ci> c </ci> </bvar> <apply><eq/> <apply><union/> <ci> a </ci> <apply><intersect/> <ci> b </ci> <ci> c </ci> </apply> </apply> <apply><intersect/> <apply><union/> <ci> a </ci> <ci> b </ci> </apply> <apply><union/> <ci> a </ci> <ci> c </ci> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="subset"/> <OMA> <OMS cd="multiset1" name="setdiff"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMV name="A"/> </OMA> </OMOBJ> Intermediate representation: (subset nil (setdiff nil a b) a) <math> <apply><subset/> <apply><setdiff/> <ci> a </ci> <ci> b </ci> </apply> <ci> a </ci> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="multiset1" name="subset"/> <OMV name="B"/> <OMV name="A"/> </OMA> <OMA> <OMS cd="multiset1" name="subset"/> <OMV name="C"/> <OMV name="B"/> </OMA> </OMA> <OMA> <OMS cd="multiset1" name="subset"/> <OMV name="C"/> <OMV name="A"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (implies nil (and nil (subset nil b a) (subset nil c b)) (subset nil c a)) <math> <apply><implies/> <apply><and/> <apply><subset/> <ci> b </ci> <ci> a </ci> </apply> <apply><subset/> <ci> c </ci> <ci> b </ci> </apply> </apply> <apply><subset/> <ci> c </ci> <ci> a </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="notin"/> <OMI> 4 </OMI> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 1 </OMI> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (notin nil 4 (set ((type multiset)) 1 1 2 3)) <math> <apply><notin/> <cn type="integer"> 4 </cn> <set type="multiset"> <cn type="integer"> 1 </cn> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="prsubset"/> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 2 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (prsubset nil (set ((type multiset)) 2 3) (set ((type multiset)) 2 2 3)) <math> <apply><prsubset/> <set type="multiset"> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> <set type="multiset"> <cn type="integer"> 2 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="notsubset"/> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 2 </OMI> <OMI> 3 </OMI> <OMI> 3 </OMI> </OMA> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (notsubset nil (set ((type multiset)) 2 3 3) (set ((type multiset)) 1 2 3)) <math> <apply><notsubset/> <set type="multiset"> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> <cn type="integer"> 3 </cn> </set> <set type="multiset"> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </set> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="multiset1" name="notprsubset"/> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="multiset1" name="multiset"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 1 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (notprsubset nil (set ((type multiset)) 1 2 1) (set ((type multiset)) 1 2 1)) <math> <apply><notprsubset/> <set type="multiset"> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 1 </cn> </set> <set type="multiset"> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 1 </cn> </set> </apply> </math> % Examples from CD nums1 om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMI> 8 </OMI> <OMA> <OMS cd="nums1" name="based_integer"/> <OMI> 8 </OMI> <OMSTR> 10 </OMSTR> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil 8 (based_integer nil 8 (string 10))) <math> <apply><eq/> <cn type="integer"> 8 </cn> <cn type="integer" base="8"> 10 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="nums1" name="rational"/> <OMI> 1 </OMI> <OMI> 2 </OMI> </OMA> </OMOBJ> Intermediate representation: (rational nil 1 2) <math> <cn type="rational">1<sep/>2</cn> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="nums1" name="complex_cartesian"/> <OMV name="x"/> <OMV name="y"/> </OMA> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="x"/> <OMA> <OMS cd="arith1" name="times"/> <OMS cd="nums1" name="i"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (bvar y 1) (eq nil (plus nil x (times nil y &imaginaryi;) ) (plus nil x (times nil &imaginaryi; y)))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <apply><eq/> <apply><plus/> <ci> x </ci> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> <apply><plus/> <ci> x </ci> <apply><times/> <cn type="constant"> &imaginaryi; </cn> <ci> y </ci> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> <OMV name="r"/> <OMV name="a"/> </OMBVAR> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMV name="r"/> <OMA> <OMS cd="transc1" name="sin"/> <OMV name="a"/> </OMA> </OMA> <OMV name="y"/> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMV name="r"/> <OMA> <OMS cd="transc1" name="cos"/> <OMV name="a"/> </OMA> </OMA> <OMV name="x"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="nums1" name="complex_polar"/> <OMV name="r"/> <OMV name="a"/> </OMA> <OMA> <OMS cd="nums1" name="complex_cartesian"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (bvar y 1) (bvar r 1) (bvar a 1) (implies nil (and nil ( eq nil (times nil r (sin nil a)) y) (eq nil (times nil r (cos nil a)) x)) (eq nil (times nil r (exp nil (times nil a &imaginaryi;))) (plus nil x (times nil y &imaginaryi;))))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <bvar> <ci> r </ci> </bvar> <bvar> <ci> a </ci> </bvar> <apply><implies/> <apply><and/> <apply><eq/> <apply><times/> <ci> r </ci> <apply><sin/> <ci> a </ci> </apply> </apply> <ci> y </ci> </apply> <apply><eq/> <apply><times/> <ci> r </ci> <apply><cos/> <ci> a </ci> </apply> </apply> <ci> x </ci> </apply> </apply> <apply><eq/> <apply><times/> <ci> r </ci> <apply><exp/> <apply><times/> <ci> a </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> <apply><plus/> <ci> x </ci> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="set1" name="in"/> <OMV name="a"/> <OMS cd="setname1" name="R"/> </OMA> <OMA> <OMS cd="set1" name="in"/> <OMV name="k"/> <OMS cd="setname1" name="Z"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="nums1" name="complex_polar"/> <OMV name="x"/> <OMV name="a"/> </OMA> <OMA> <OMS cd="nums1" name="complex_polar"/> <OMV name="x"/> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="a"/> <OMA> <OMS cd="arith1" name="times"/> <OMI> 2 </OMI> <OMS cd="nums1" name="pi"/> <OMV name="k"/> </OMA> </OMA> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (implies nil (and nil (in nil a (semantic (r (o m s c d = " s e t n a m e 1 " n a m e = " r " /)))) (in nil k (semantic (z (o m s c d = " s e t n a m e 1 " n a m e = " z " /))))) (eq nil (times nil x (exp nil ( times nil a &imaginaryi;))) (times nil x (exp nil (times nil (plus nil a (times nil 2 π k)) &imaginaryi;)))))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <apply><implies/> <apply><and/> <apply><in/> <ci> a </ci> <semantic> <ci><mo>r</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="setname1" name="r"/> </annotation-xml> </semantic> </apply> <apply><in/> <ci> k </ci> <semantic> <ci><mo>z</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="setname1" name="z"/> </annotation-xml> </semantic> </apply> </apply> <apply><eq/> <apply><times/> <ci> x </ci> <apply><exp/> <apply><times/> <ci> a </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> <apply><times/> <ci> x </ci> <apply><exp/> <apply><times/> <apply><plus/> <ci> a </ci> <apply><times/> <cn type="integer"> 2 </cn> <cn type="constant"> π </cn> <ci> k </ci> </apply> </apply> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMS cd="nums1" name="e"/> <OMA> <OMS cd="arith1" name="sum"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMS cd="alg1" name="zero"/> <OMS cd="nums1" name="infinity"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="j"/> </OMBVAR> <OMA> <OMS cd="arith1" name="divide"/> <OMS cd="alg1" name="one"/> <OMA> <OMS cd="integer1" name="factorial"/> <OMV name="j"/> </OMA> </OMA> </OMBIND> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil ⅇ (sum nil (bvar j 1) (lowupperlimit nil 0 ∞) (divide nil 1 (factorial nil j)))) <math> <apply><eq/> <cn type="constant"> ⅇ </cn> <apply><sum/> <bvar> <ci> j </ci> </bvar> <lowlimit> <cn type="integer"> 0 </cn> </lowlimit> <uplimit> <cn type="constant"> ∞ </cn> </uplimit> <apply><divide/> <cn type="integer"> 1 </cn> <apply><factorial/> <ci> j </ci> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="power"/> <OMS cd="nums1" name="i"/> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="arith1" name="minus"/> <OMS cd="alg1" name="one"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil (power nil &imaginaryi; 2) (minus nil 1)) <math> <apply><eq/> <apply><power/> <cn type="constant"> &imaginaryi; </cn> <cn type="integer"> 2 </cn> </apply> <apply><minus/> <cn type="integer"> 1 </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMV name="y"/> <OMA> <OMS name="imaginary" cd="nums1"/> <OMA> <OMS name="complex_cartesian" cd="nums1"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (bvar y 1) (eq nil y (imaginary nil (plus nil x (times nil y &imaginaryi;))))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <apply><eq/> <ci> y </ci> <apply><imaginary/> <apply><plus/> <ci> x </ci> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMV name="x"/> <OMA> <OMS name="real" cd="nums1"/> <OMA> <OMS name="complex_cartesian" cd="nums1"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (bvar y 1) (eq nil x (real nil (plus nil x (times nil y &imaginaryi;))))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <bvar> <ci> y </ci> </bvar> <apply><eq/> <ci> x </ci> <apply><real/> <apply><plus/> <ci> x </ci> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="set1" name="in"/> <OMV name="a"/> <OMS cd="setname1" name="R"/> </OMA> <OMA> <OMS cd="relation1" name="lt"/> <OMV name="x"/> <OMS cd="nums1" name="infinity"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (implies nil (in nil a (semantic (r (o m s c d = " s e t n a m e 1 " n a m e = " r " /)))) (lt nil x ∞)) <math> <apply><implies/> <apply><in/> <ci> a </ci> <semantic> <ci><mo>r</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="setname1" name="r"/> </annotation-xml> </semantic> </apply> <apply><lt/> <ci> x </ci> <cn type="constant"> ∞ </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="neq"/> <OMS cd="nums1" name="NaN"/> <OMS cd="nums1" name="NaN"/> </OMA> </OMOBJ> Intermediate representation: (neq nil ¬anumber; ¬anumber;) <math> <apply><neq/> <ci> ¬anumber; </ci> <ci> ¬anumber; </ci> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMS cd="nums1" name="pi"/> <OMA> <OMS cd="arith1" name="sum"/> <OMA> <OMS cd="interval1" name="integer_interval"/> <OMS cd="alg1" name="zero"/> <OMS cd="nums1" name="infinity"/> </OMA> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="j"/> </OMBVAR> <OMA> <OMS cd="arith1" name="minus"/> <OMA> <OMS cd="arith1" name="divide"/> <OMS cd="alg1" name="one"/> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="arith1" name="times"/> <OMI> 4 </OMI> <OMV name="j"/> </OMA> <OMS cd="alg1" name="one"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="divide"/> <OMS cd="alg1" name="one"/> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="arith1" name="times"/> <OMI> 4 </OMI> <OMV name="j"/> </OMA> <OMS cd="alg1" name="one"/> </OMA> </OMA> </OMA> </OMBIND> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil π (sum nil (bvar j 1) (lowupperlimit nil 0 ∞) (minus nil ( divide nil 1 (plus nil (times nil 4 j) 1)) (divide nil 1 (plus nil (times nil 4 j) 1))))) <math> <apply><eq/> <cn type="constant"> π </cn> <apply><sum/> <bvar> <ci> j </ci> </bvar> <lowlimit> <cn type="integer"> 0 </cn> </lowlimit> <uplimit> <cn type="constant"> ∞ </cn> </uplimit> <apply><minus/> <apply><divide/> <cn type="integer"> 1 </cn> <apply><plus/> <apply><times/> <cn type="integer"> 4 </cn> <ci> j </ci> </apply> <cn type="integer"> 1 </cn> </apply> </apply> <apply><divide/> <cn type="integer"> 1 </cn> <apply><plus/> <apply><times/> <cn type="integer"> 4 </cn> <ci> j </ci> </apply> <cn type="integer"> 1 </cn> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="lt"/> <OMA> <OMS cd="arith1" name="minus"/> <OMA> <OMS cd="rounding1" name="ceiling"/> <OMV name="x"/> </OMA> <OMS cd="alg1" name="one"/> </OMA> <OMV name="x"/> </OMA> <OMA> <OMS cd="relation1" name="leq"/> <OMV name="x"/> <OMA> <OMS cd="rounding1" name="ceiling"/> <OMV name="x"/> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (and nil (lt nil (minus nil (semantic (ceiling (o m s c d = " r o u n d i n g 1 " n a m e = " c e i l i n g " /)) x) 1) x) (leq nil x (semantic (ceiling (o m s c d = " r o u n d i n g 1 " n a m e = " c e i l i n g " /)) x)))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <apply><and/> <apply><lt/> <apply><minus/> <apply> <fn> <semantic> <ci><mo>ceiling</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="rounding1" name="ceiling"/> </annotation-xml> </semantic> </fn> <ci> x </ci> </apply> <cn type="integer"> 1 </cn> </apply> <ci> x </ci> </apply> <apply><leq/> <ci> x </ci> <apply> <fn> <semantic> <ci><mo>ceiling</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="rounding1" name="ceiling"/> </annotation-xml> </semantic> </fn> <ci> x </ci> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="stats1" name="mean"/> <OMI> 1 </OMI> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> <OMI> 3 </OMI> </OMA> </OMOBJ> Intermediate representation: (eq nil (mean nil 1 2 3) 3) <math> <apply><eq/> <apply><mean/> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </apply> <cn type="integer"> 3 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="stats1" name="sdev"/> <OMF dec="3.1"/> <OMF dec="2.2"/> <OMF dec="1.8"/> <OMF dec="1.1"/> <OMF dec="3.3"/> <OMF dec="2.4"/> <OMF dec="5.5"/> <OMF dec="2.3"/> <OMF dec="1.7"/> <OMF dec="1.8"/> <OMF dec="3.4"/> <OMF dec="4.0"/> <OMF dec="3.3"/> </OMA> </OMOBJ> Intermediate representation: (sdev nil 3.1 2.2 1.8 1.1 3.3 2.4 5.5 2.3 1.7 1.8 3.4 4.0 3.3) <math> <apply><sdev/> <cn type="real"> 3.1 </cn> <cn type="real"> 2.2 </cn> <cn type="real"> 1.8 </cn> <cn type="real"> 1.1 </cn> <cn type="real"> 3.3 </cn> <cn type="real"> 2.4 </cn> <cn type="real"> 5.5 </cn> <cn type="real"> 2.3 </cn> <cn type="real"> 1.7 </cn> <cn type="real"> 1.8 </cn> <cn type="real"> 3.4 </cn> <cn type="real"> 4.0 </cn> <cn type="real"> 3.3 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic1" name="implies"/> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="power"/> <OMV name="a"/> <OMV name="b"/> </OMA> <OMV name="c"/> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="transc1" name="log"/> <OMV name="a"/> <OMV name="c"/> </OMA> <OMV name="b"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (implies nil (eq nil (power nil a b) c) (eq nil (log nil a c) b)) <math> <apply><implies/> <apply><eq/> <apply><power/> <ci> a </ci> <ci> b </ci> </apply> <ci> c </ci> </apply> <apply><eq/> <apply><log/> <logbase> <ci> a </ci> </logbase> <ci> c </ci> <apply> <ci> b </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS name="and" cd="logic1"/> <OMA> <OMS name="lt" cd="relation1"/> <OMA> <OMS name="unary_minus" cd="arith1"/> <OMS name="pi" cd="nums1"/> </OMA> <OMA> <OMS name="imaginary" cd="nums1"/> <OMA> <OMS name="ln" cd="transc1"/> <OMV name="x"/> </OMA> </OMA> </OMA> <OMA> <OMS name="leq" cd="relation1"/> <OMA> <OMS name="imaginary" cd="nums1"/> <OMA> <OMS name="ln" cd="transc1"/> <OMV name="x"/> </OMA> </OMA> <OMS name="pi" cd="nums1"/> </OMA> </OMA> </OMOBJ> Intermediate representation: (and nil (lt nil (minus nil π) (imaginary nil (ln nil x))) (leq nil ( imaginary nil (ln nil x)) π)) <math> <apply><and/> <apply><lt/> <apply><minus/> <cn type="constant"> π </cn> </apply> <apply><imaginary/> <apply><ln/> <ci> x </ci> </apply> </apply> </apply> <apply><leq/> <apply><imaginary/> <apply><ln/> <ci> x </ci> </apply> </apply> <cn type="constant"> π </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="veccalc1" name="curl"/> <OMV name="F"/> </OMA> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="linalg1" name="vectorproduct"/> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 1 </OMI> <OMI> 0 </OMI> <OMI> 0 </OMI> </OMA> <OMA> <OMS cd="calculus1" name="partialdiff"/> <OMA> <OMS cd="list1" name="list"/> <OMI> 1 </OMI> </OMA> <OMV name="F"/> </OMA> </OMA> <OMA> <OMS cd="linalg1" name="vectorproduct"/> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 0 </OMI> <OMI> 1 </OMI> <OMI> 0 </OMI> </OMA> <OMA> <OMS cd="calculus1" name="partialdiff"/> <OMA> <OMS cd="list1" name="list"/> <OMI> 2 </OMI> </OMA> <OMV name="F"/> </OMA> </OMA> <OMA> <OMS cd="linalg1" name="vectorproduct"/> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 0 </OMI> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="calculus1" name="partialdiff"/> <OMA> <OMS cd="list1" name="list"/> <OMI> 3 </OMI> </OMA> <OMV name="F"/> </OMA> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil (curl nil f) (plus nil (vectorproduct nil (vectorml nil 1 0 0) ( partialdiff nil f)) (vectorproduct nil (vectorml nil 0 1 0) (partialdiff nil f)) (vectorproduct nil (vectorml nil 0 0 1) (partialdiff nil f)))) <math> <apply><eq/> <apply><curl/> <ci> f </ci> </apply> <apply><plus/> <apply><vectorproduct/> <vector> <cn type="integer"> 1 </cn> <cn type="integer"> 0 </cn> <cn type="integer"> 0 </cn> </vector> <apply><partialdiff/> <ci> f </ci> </apply> </apply> <apply><vectorproduct/> <vector> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> <cn type="integer"> 0 </cn> </vector> <apply><partialdiff/> <ci> f </ci> </apply> </apply> <apply><vectorproduct/> <vector> <cn type="integer"> 0 </cn> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> </vector> <apply><partialdiff/> <ci> f </ci> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="lt"/> <OMA> <OMS name="unary_minus" cd="arith1"/> <OMS cd="nums1" name="pi"/> </OMA> <OMA> <OMS name="arg" cd="arith2"/> <OMV name="x"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="leq"/> <OMA> <OMS name="arg" cd="arith2"/> <OMV name="x"/> </OMA> <OMS cd="nums1" name="pi"/> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar x 1) (and nil (lt nil (minus nil π) (arg nil x)) (leq nil ( arg nil x) π))) <math> <apply><forall/> <bvar> <ci> x </ci> </bvar> <apply><and/> <apply><lt/> <apply><minus/> <cn type="constant"> π </cn> </apply> <apply><arg/> <ci> x </ci> </apply> </apply> <apply><leq/> <apply><arg/> <ci> x </ci> </apply> <cn type="constant"> π </cn> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="a"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith2" name="inverse"/> <OMA> <OMS cd="arith2" name="inverse"/> <OMV name="a"/> </OMA> </OMA> <OMV name="a"/> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar a 1) (eq nil (inverse nil (inverse nil a)) a)) <math> <apply><forall/> <bvar> <ci> a </ci> </bvar> <apply><eq/> <apply><inverse/> <apply><inverse/> <ci> a </ci> </apply> </apply> <ci> a </ci> </apply> </apply> </math> % An example of elements which do not have a MathML % equivalent. This example comes from the fns1 CD om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="n"/> </OMBVAR> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="fns2" name="apply_to_list"/> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="list1" name="make_list"/> <OMI> 1 </OMI> <OMV name="n"/> <OMS cd="fns1" name="identity"/> </OMA> </OMA> </OMA> <OMA> <OMS cd="arith1" name="divide"/> <OMA> <OMS cd="arith1" name="times"/> <OMV name="n"/> <OMA> <OMS cd="arith1" name="plus"/> <OMV name="n"/> <OMI> 1 </OMI> </OMA> </OMA> <OMI> 2 </OMI> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar n 1) (eq nil (semantic (apply_to_list (o m s c d = " f n s 2 " n a m e = " a p p l y _ t o _ l i s t " /)) (plus nil (semantic (make_list ( o m s c d = " l i s t 1 " n a m e = " m a k e _ l i s t " /)) 1 n (semantic (identity (o m s c d = " f n s 1 " n a m e = " i d e n t i t y " /)))))) ( divide nil (times nil n (plus nil n 1)) 2))) <math> <apply><forall/> <bvar> <ci> n </ci> </bvar> <apply><eq/> <apply> <fn> <semantic> <ci><mo>apply_to_list</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="fns2" name="apply_to_list"/> </annotation-xml> </semantic> </fn> <apply><plus/> <apply> <fn> <semantic> <ci><mo>make_list</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="list1" name="make_list"/> </annotation-xml> </semantic> </fn> <cn type="integer"> 1 </cn> <ci> n </ci> <semantic> <ci><mo>identity</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="fns1" name="identity"/> </annotation-xml> </semantic> </apply> </apply> </apply> <apply><divide/> <apply><times/> <ci> n </ci> <apply><plus/> <ci> n </ci> <cn type="integer"> 1 </cn> </apply> </apply> <cn type="integer"> 2 </cn> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="linalg3" name="determinant"/> <OMA> <OMS cd="linalg3" name="identity"/> <OMV name="n"/> </OMA> </OMA> <OMS cd="alg1" name="one"/> </OMA> </OMOBJ> Intermediate representation: (eq nil (determinant nil (semantic (identity (o m s c d = " l i n a l g 3 " n a m e = " i d e n t i t y " /)) n)) 1) <math> <apply><eq/> <apply><determinant/> <apply> <fn> <semantic> <ci><mo>identity</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="identity"/> </annotation-xml> </semantic> </fn> <ci> n </ci> </apply> </apply> <cn type="integer"> 1 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="linalg3" name="transpose"/> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 1 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 2 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMA> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 2 </OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1 </OMI> <OMI> 3 </OMI> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (eq nil (transpose nil (matrix nil matrixrow ((0 1) (2 3)))) (matrix nil matrixrow ((0 2) (1 3)))) <math> <apply><eq/> <apply><transpose/> <matrix> <matrixrow> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> </matrixrow> <matrixrow> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </matrixrow> </matrix> </apply> <matrix> <matrixrow> <cn type="integer"> 0 </cn> <cn type="integer"> 2 </cn> </matrixrow> <matrixrow> <cn type="integer"> 1 </cn> <cn type="integer"> 3 </cn> </matrixrow> </matrix> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="logic2" name="equivalent"/> <OMA> <OMS cd="logic2" name="equivalent"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="logic1" name="implies"/> <OMV name="A"/> <OMV name="B"/> </OMA> <OMA> <OMS cd="logic1" name="implies"/> <OMV name="B"/> <OMV name="A"/> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (equivalent nil (equivalent nil a b) (and nil (implies nil a b) (implies nil b a ))) <math> <apply><equivalent/> <apply><equivalent/> <ci> a </ci> <ci> b </ci> </apply> <apply><and/> <apply><implies/> <ci> a </ci> <ci> b </ci> </apply> <apply><implies/> <ci> b </ci> <ci> a </ci> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="complex_polar_type"/> </OMATP> <OMV name="z"/> </OMATTR> </OMOBJ> Intermediate representation: (ci ((type complex_polar)) z) <math> <ci type="complex_polar">z</ci> </math> % Examples of assigning types to variables. om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="integer_type"/> </OMATP> <OMV name="z"/> </OMATTR> </OMOBJ> Intermediate representation: (ci ((type integer)) z) <math> <ci type="integer">z</ci> </math> om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="real_type"/> </OMATP> <OMV name="z"/> </OMATTR> </OMOBJ> Intermediate representation: (ci ((type real)) z) <math> <ci type="real">z</ci> </math> om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="rational_type"/> </OMATP> <OMV name="z"/> </OMATTR> </OMOBJ> Intermediate representation: (ci ((type rational)) z) <math> <ci type="rational">z</ci> </math> % These examples show the use of attributions within OpenMath % expressions. om2mml(); <OMOBJ> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="f"/> </OMATTR> <OMI>1</OMI> <OMI>2</OMI> <OMI>3</OMI> </OMA> </OMOBJ> Intermediate representation: (f nil 1 2 3) <math> <apply> <csymbol> <ci>f</ci> </csymbol> <cn type="integer"> 1 </cn> <cn type="integer"> 2 </cn> <cn type="integer"> 3 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="arith1" name=times/> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="matrix_type"/> </OMATP> <OMV name=A/> </OMATTR> <OMA> <OMS cd="transc1" name=sin/> <OMV name=x/> </OMA> </OMA> </OMOBJ> Intermediate representation: (times nil (ci ((type matrix)) a) (sin nil x)) <math> <apply><times/> <ci type="matrix">a</ci> <apply><sin/> <ci> x </ci> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg3" name="vector_selector"/> <OMI>2</OMI> <OMA> <OMS cd="linalg1" name="vector"/> <OMI> 3 </OMI> <OMI> 6 </OMI> <OMI> 9 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (selector nil (vectorml nil 3 6 9) 2) <math> <apply><selector/> <vector> <cn type="integer"> 3 </cn> <cn type="integer"> 6 </cn> <cn type="integer"> 9 </cn> </vector> <cn type="integer"> 2 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg3" name="vector_selector"/> <OMI>2</OMI> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 0 </OMI> <OMI> 1 </OMI> <OMI> 0 </OMI> </OMA> </OMA> </OMOBJ> Intermediate representation: (selector nil (semantic (matrixrow (o m s c d = " l i n a l g 1 " n a m e = " m a t r i x r o w " /)) 0 1 0) 2) <math> <apply><selector/> <apply> <fn> <semantic> <ci><mo>matrixrow</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg1" name="matrixrow"/> </annotation-xml> </semantic> </fn> <cn type="integer"> 0 </cn> <cn type="integer"> 1 </cn> <cn type="integer"> 0 </cn> </apply> <cn type="integer"> 2 </cn> </apply> </math> om2mml(); <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="M"/> </OMBVAR> <OMA> <OMS cd="logic1" name="and"/> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMA> <OMS cd="linalg3" name="zero"/> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> </OMA> <OMV name="M"/> </OMA> <OMA> <OMS cd="linalg3" name="zero"/> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> <OMA> <OMS cd="linalg3" name="columncount"/> <OMV name="M"/> </OMA> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"/> <OMA> <OMS cd="arith1" name="times"/> <OMV name="M"/> <OMA> <OMS cd="linalg3" name="zero"/> <OMA> <OMS cd="linalg3" name="columncount"/> <OMV name="M"/> </OMA> <OMA> <OMS cd="linalg3" name="columncount"/> <OMV name="M"/> </OMA> </OMA> </OMA> <OMA> <OMS cd="linalg3" name="zero"/> <OMA> <OMS cd="linalg3" name="rowcount"/> <OMV name="M"/> </OMA> <OMA> <OMS cd="linalg3" name="columncount"/> <OMV name="M"/> </OMA> </OMA> </OMA> </OMA> </OMBIND> </OMOBJ> Intermediate representation: (forall nil (bvar m 1) (and nil (eq nil (times nil (semantic (zero (o m s c d = " l i n a l g 3 " n a m e = " z e r o " /)) (semantic (rowcount (o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m) (semantic (rowcount ( o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m)) m) ( semantic (zero (o m s c d = " l i n a l g 3 " n a m e = " z e r o " /)) ( semantic (rowcount (o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m) (semantic (columncount (o m s c d = " l i n a l g 3 " n a m e = " c o l u m n c o u n t " /)) m))) (eq nil (times nil m (semantic (zero (o m s c d = " l i n a l g 3 " n a m e = " z e r o " /)) (semantic (columncount (o m s c d = " l i n a l g 3 " n a m e = " c o l u m n c o u n t " /)) m) (semantic (columncount (o m s c d = " l i n a l g 3 " n a m e = " c o l u m n c o u n t " /)) m))) (semantic (zero (o m s c d = " l i n a l g 3 " n a m e = " z e r o " /)) (semantic (rowcount (o m s c d = " l i n a l g 3 " n a m e = " r o w c o u n t " /)) m) (semantic (columncount (o m s c d = " l i n a l g 3 " n a m e = " c o l u m n c o u n t " /)) m))))) <math> <apply><forall/> <bvar> <ci> m </ci> </bvar> <apply><and/> <apply><eq/> <apply><times/> <apply> <fn> <semantic> <ci><mo>zero</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="zero"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> <ci> m </ci> </apply> <apply> <fn> <semantic> <ci><mo>zero</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="zero"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> <apply> <fn> <semantic> <ci><mo>columncount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="columncount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> </apply> <apply><eq/> <apply><times/> <ci> m </ci> <apply> <fn> <semantic> <ci><mo>zero</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="zero"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>columncount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="columncount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> <apply> <fn> <semantic> <ci><mo>columncount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="columncount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> </apply> <apply> <fn> <semantic> <ci><mo>zero</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="zero"/> </annotation-xml> </semantic> </fn> <apply> <fn> <semantic> <ci><mo>rowcount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="rowcount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> <apply> <fn> <semantic> <ci><mo>columncount</mo></ci> <annotation-xml encoding="OpenMath"> <oms cd="linalg3" name="columncount"/> </annotation-xml> </semantic> </fn> <ci> m </ci> </apply> </apply> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg3" name="vector_selector"/> <OMI> 1 </OMI> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="vector_type"/> </OMATP> <OMV name=A/> </OMATTR> </OMA> </OMOBJ> Intermediate representation: (selector nil (ci ((type vectorml)) a) 1) <math> <apply><selector/> <ci type="vector">a</ci> <cn type="integer"> 1 </cn> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="linalg3" name="matrix_selector"/> <OMI> 1 </OMI> <OMI> 1 </OMI> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="matrix_type"/> </OMATP> <OMV name=A/> </OMATTR> </OMA> </OMOBJ> Intermediate representation: (selector nil (ci ((type matrix)) a) 1 1) <math> <apply><selector/> <ci type="matrix">a</ci> <cn type="integer"> 1 </cn> <cn type="integer"> 1 </cn> </apply> </math> % The following two examples were produced by REDUCE in MathML with the % MathML interface, then translated to OpenMath. It is now possible to % translate them back to MathML. om2mml(); <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="root_of"/> </OMATTR> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="power"> <OMV name="y"/> <OMV name="x_"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="minus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMV name="y"/> </OMA> </OMA> <OMV name="x_"/> <OMV name="y"/> </OMA> <OMV name="x_"/> <OMV name="tag_1"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMV name="a"/> <OMA> <OMS cd="arith1" name="plus"> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (list nil (list nil (eq nil x (root_of nil (plus nil (minus nil (power nil y x_) ) (minus nil (times nil (int nil (bvar x_ 1) (power nil x_ x_)) y)) x_ y) x_ tag_1)) (eq nil a (plus nil x y)))) <math> <list> <list> <apply><eq/> <ci> x </ci> <apply> <csymbol> <ci>root_of</ci> </csymbol> <apply><plus/> <apply><minus/> <apply><power/> <ci> y </ci> <ci> x_ </ci> </apply> </apply> <apply><minus/> <apply><times/> <apply><int/> <bvar> <ci> x_ </ci> </bvar> <apply><power/> <ci> x_ </ci> <ci> x_ </ci> </apply> </apply> <ci> y </ci> </apply> </apply> <ci> x_ </ci> <ci> y </ci> </apply> <ci> x_ </ci> <ci> tag_1 </ci> </apply> </apply> <apply><eq/> <ci> a </ci> <apply><plus/> <ci> x </ci> <ci> y </ci> </apply> </apply> </list> </list> </math> om2mml(); <OMOBJ> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="list1" name="list"/> <OMA> <OMS cd="relation1" name="eq"> <OMV name="x"/> <OMA> <OMATTR> <OMATP> <OMS cd="typmml" name="type"/> <OMS cd="typmml" name="fn_type"/> </OMATP> <OMV name="root_of"/> </OMATTR> <OMA> <OMS cd="arith1" name="plus"> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="transc1" name="exp"> <OMA> <OMS cd="arith1" name="plus"> <OMS cd="nums1" name="i"/> <OMV name="x_"/> </OMA> </OMA> <OMV name="y"/> </OMA> <OMA> <OMS cd="transc1" name="exp"> <OMA> <OMS cd="arith1" name="plus"> <OMS cd="nums1" name="i"/> <OMV name="x_"/> </OMA> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMA> <OMS cd="arith1" name="plus"> <OMV name="y"/> <OMI> 1 </OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMA> <OMS cd="arith1" name="power"> <OMV name="y"/> <OMI> 2 </OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"> <OMA> <OMS cd="calculus1" name="int"/> <OMBIND> <OMS cd="fns1" name="lambda"/> <OMBVAR> <OMV name="x_"/> </OMBVAR> <OMA> <OMS cd="arith1" name="power"> <OMV name="x_"/> <OMV name="x_"/> </OMA> </OMBIND> </OMA> <OMV name="y"/> </OMA> </OMA> <OMV name="x_"/> <OMV name="tag_2"/> </OMA> </OMA> <OMA> <OMS cd="relation1" name="eq"> <OMV name="z"/> <OMV name="y"/> </OMA> </OMA> </OMA> </OMOBJ> Intermediate representation: (list nil (list nil (eq nil x (root_of nil (plus nil (times nil (exp nil (plus nil &imaginaryi; x_)) y) (exp nil (plus nil &imaginaryi; x_)) (power nil x_ ( plus nil y 1)) (times nil (int nil (bvar x_ 1) (power nil x_ x_)) (power nil y 2 )) (times nil (int nil (bvar x_ 1) (power nil x_ x_)) y)) x_ tag_2)) (eq nil z y ))) <math> <list> <list> <apply><eq/> <ci> x </ci> <apply> <csymbol> <ci>root_of</ci> </csymbol> <apply><plus/> <apply><times/> <apply><exp/> <apply><plus/> <cn type="constant"> &imaginaryi; </cn> <ci> x_ </ci> </apply> </apply> <ci> y </ci> </apply> <apply><exp/> <apply><plus/> <cn type="constant"> &imaginaryi; </cn> <ci> x_ </ci> </apply> </apply> <apply><power/> <ci> x_ </ci> <apply><plus/> <ci> y </ci> <cn type="integer"> 1 </cn> </apply> </apply> <apply><times/> <apply><int/> <bvar> <ci> x_ </ci> </bvar> <apply><power/> <ci> x_ </ci> <ci> x_ </ci> </apply> </apply> <apply><power/> <ci> y </ci> <cn type="integer"> 2 </cn> </apply> </apply> <apply><times/> <apply><int/> <bvar> <ci> x_ </ci> </bvar> <apply><power/> <ci> x_ </ci> <ci> x_ </ci> </apply> </apply> <ci> y </ci> </apply> </apply> <ci> x_ </ci> <ci> tag_2 </ci> </apply> </apply> <apply><eq/> <ci> z </ci> <ci> y </ci> </apply> </list> </list> </math> om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="cc" name="type"/> <OMS cd="omtypes" name="integer"/> </OMATP> <OMI> 0 </OMI> </OMATTR> </OMOBJ> Intermediate representation: (cn ((type integer)) 0) <math> <cn type="integer">0</cn> </math> om2mml(); <OMOBJ> <OMATTR> <OMATP> <OMS cd="cc" name="type"/> <OMS cd="omtypes" name="float"/> </OMATP> <OMF dec=1.0/> </OMATTR> </OMOBJ> Intermediate representation: (cn ((type semantic)) 1.0) <math> <cn type="semantic">1.0</cn> </math> om2mml(); <OMOBJ> <OMA> <OMS name="complex_cartesian" cd="nums1"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMOBJ> Intermediate representation: (plus nil x (times nil y &imaginaryi;)) <math> <apply><plus/> <ci> x </ci> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS name="complex_polar" cd="nums1"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMOBJ> Intermediate representation: (times nil x (exp nil (times nil y &imaginaryi;))) <math> <apply><times/> <ci> x </ci> <apply><exp/> <apply><times/> <ci> y </ci> <cn type="constant"> &imaginaryi; </cn> </apply> </apply> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS name="rational" cd="nums1"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMOBJ> Intermediate representation: (divide nil x y) <math> <apply><divide/> <ci> x </ci> <ci> y </ci> </apply> </math> om2mml(); <OMOBJ> <OMA> <OMS name="complex_cartesian" cd="nums1"/> <OMI>4</OMI> <OMI>2</OMI> </OMA> </OMOBJ> Intermediate representation: (complex_cartesian nil 4 2) <math> <cn type="complex-cartesian"> 4 <sep/> 2 </cn> </math> om2mml(); <OMOBJ> <OMA> <OMS name="complex_polar" cd="nums1"/> <OMI>4</OMI> <OMI>2</OMI> </OMA> </OMOBJ> Intermediate representation: (complex_polar nil 4 2) <math> <cn type="complex-polar"> 4 <sep/> 2 </cn> </math> om2mml(); <OMOBJ> <OMA> <OMS name="rational" cd="nums1"/> <OMI>4</OMI> <OMI>2</OMI> </OMA> </OMOBJ> Intermediate representation: (rational nil 4 2) <math> <cn type="rational">4<sep/>2</cn> </math> % end; end; Time for test: 82 ms, plus GC time: 2 ms