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] + +} | 
