summaryrefslogtreecommitdiff
path: root/data/ontology/math.osml
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-04-10 16:26:58 +0200
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2016-04-25 22:24:13 +0200
commit3d056a3eacea234a9e7c5924c60e61b06955601f (patch)
tree25fd0f10ab930b9f0b5692c16bc1e73f35e8412c /data/ontology/math.osml
parentbae33687d64f509db8dee0cf99e107e451bb3149 (diff)
Added math ontology
Diffstat (limited to 'data/ontology/math.osml')
-rw-r--r--data/ontology/math.osml226
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]
+
+}