diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-10 16:26:58 +0200 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2016-04-25 22:24:13 +0200 |
commit | 3d056a3eacea234a9e7c5924c60e61b06955601f (patch) | |
tree | 25fd0f10ab930b9f0b5692c16bc1e73f35e8412c /data | |
parent | bae33687d64f509db8dee0cf99e107e451bb3149 (diff) |
Added math ontology
Diffstat (limited to 'data')
-rw-r--r-- | data/ontology/math.osml | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/data/ontology/math.osml b/data/ontology/math.osml new file mode 100644 index 0000000..b1dafb0 --- /dev/null +++ b/data/ontology/math.osml @@ -0,0 +1,226 @@ +\ontology#math{ + %{ + Top level math commands -- block math (equivalent to LaTeX AMS "array") + and inline math. + }% + \struct#math[root=true] + \syntax + \open{\\[} + \close{\\]} + \field + \childRef[ref=equation] + + \struct#inlineMath + \syntax + \open{\\(} + \close{\\)} + \field + \childRef[ref=primitive] + + %{ + Commands for block math -- these are used to define equations, seperable + by the "&" field separator. + }% + \struct#equation[transparent=true, cardinality={>0}] + \syntax + \close{\\\\} + \field + \childRef[ref=field] + \struct#field[transparent=true] + \syntax + \close{&} + \field + \childRef[ref=primitive] + + %{ + All classes derived from "primitive" can be used inside all equations + }% + \struct#primitive + + %{ + Variables and functions + }% + \struct#var[isa=primitive] + \primitive#name[type=string] + \struct#fun[isa=primitive] + \primitive#name[subtree=true,type=string,optional=false] + \field#arguments[subtree=true,optional=true] + \childRef[ref=primitive] + + %{ + Basic mathematical commands, sum, product, fraction, square root + }% + \struct#mathop[isa=primitive] + \field + \childRef[ref=limits] + \struct#sum[isa=mathop] + \struct#prod[isa=mathop] + \struct#int[isa=mathop] + \struct#iint[isa=mathop] + \struct#lim[isa=primitive] + \field + \childRef[ref=lowerLimit] + \struct#frac[isa=primitive] + \field#denominator[subtree=true,optional=false] + \childRef[ref=primitive] + \field#nominator[subtree=true,optional=false] + \childRef[ref=primitive] + \struct#sqrt[isa=primitive] + \attributes + \attribute#base[type=int,default=2] + \field + \childRef[ref=primitive] + \struct#root[isa=primitive] + \field#base[subtree=true,optional=true] + \childRef[ref=primitive] + \field + \childRef[ref=primitive] + + % TODO: Differentiate between lower and upper index vs. power operator? + \struct#power[isa=primitive] + \syntax + \short{^} + \field + \childRef[ref=primitive] + \struct#index[isa=primitive] + \syntax + \short{_} + \field + \childRef[ref=primitive] + + %{ + Separators + }% + + \struct#comma[isa=primitive] + \syntax + \short{,} + \struct#colon[isa=primitive] + \syntax + \short{:} + \struct#semicolon[isa=primitive] + \syntax + \short{;} + + %{ + Operators and Relations + }% + \struct#plus[isa=primitive] + \syntax + \short{+} + \struct#minus[isa=primitive] + \syntax + \short{-} + \struct#multiplication[isa=primitive] + \syntax + \short{*} + \struct#division[isa=primitive] + \syntax + \short{/} + \struct#equals[isa=primitive] + \syntax + \short{=} + \struct#equiv[isa=primitive] + \syntax + \short{==} + \struct#smaller[isa=primitive] + \syntax + \short{<} + \struct#larger[isa=primitive] + \syntax + \short{>} + \struct#smallerEq[isa=primitive] + \syntax + \short{<=} + \struct#largerEq[isa=primitive] + \syntax + \short{>=} + \struct#times[isa=primitive] + \struct#circ[isa=primitive] + \struct#cdot[isa=primitive] + \struct#bullet[isa=primitive] + \struct#cup[isa=primitive] + \struct#cap[isa=primitive] + \struct#subset[isa=primitive] + \struct#subseteq[isa=primitive] + \struct#sqcup[isa=primitive] + \struct#sqcap[isa=primitive] + \struct#sim[isa=primitive] + \struct#vee[isa=primitive] + \struct#wedge[isa=primitive] + \struct#pm[isa=primitive] + \struct#mp[isa=primitive] + \struct#infty[isa=primitive] + + %{ + Arrows + }% + \struct#arrow[isa=primitive] + \struct#to[isa=arrow] + \syntax + \short{->} + \struct#mapsto[isa=arrow] + \syntax + \short{|->} + + \struct#leftarrow[isa=arrow] + \syntax + \short{<--} + \struct#Leftarrow[isa=arrow] + \syntax + \short{<==} + \struct#rightarrow[isa=arrow] + \syntax + \short{-->} + \struct#Leftrightarrow[isa=arrow] + \syntax + \short{<=>} + \struct#leftrightarrow[isa=arrow] + \syntax + \short{<->} + \struct#uparrow[isa=arrow] + \struct#Uparrow[isa=arrow] + \struct#downarrow[isa=arrow] + \struct#Downarrow[isa=arrow] + \struct#updownarrow[isa=arrow] + \struct#Updownarrow[isa=arrow] + + \struct#longleftarrow[isa=arrow] + \syntax + \short{<---} + \struct#Longleftarrow[isa=arrow] + \syntax + \short{<===} + \struct#longrightarrow[isa=arrow] + \syntax + \short{--->} + \struct#Longrightarrow[isa=arrow] + \syntax + \short{===>} + \struct#longleftrightarrow[isa=arrow] + \syntax + \short{<-->} + \struct#Longleftrightarrow[isa=arrow] + \syntax + \short{<==>} + + \struct#number[isa=primitive,transparent=true] + \primitive[type=int] + \struct#text[isa=primitive,transparent=true] + \primitive[type=string] + \struct#limits[transparent=true] + \field + \childRef[ref=lowerLimit] + \childRef[ref=upperLimit] + \struct#lowerLimit[cardinality={0,1}] + \syntax + \short{_} + \field + \childRef[ref=primitive] + \struct#upperLimit[cardinality={0,1}] + \syntax + \short{^} + \field + \childRef[ref=primitive] + +} |