QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

dint  APPLICATION 
calculus1 
defint 
This symbol is used to represent definite integration of unary functions. It takes two arguments; the first being the range (e.g. a set) of integration, and the second the function. 
∫_^  APPLICATION 

diff  APPLICATION 
calculus1 
diff 
This symbol is used to express ordinary differentiation of a unary function. The single argument is the unary function. 
int  APPLICATION 
calculus1 
int 
This symbol is used to represent indefinite integration of unary functions. The argument is the unary function. 
∫  APPLICATION 

pdiff  APPLICATION 
calculus1 
partialdiff 
This symbol is used to express partial differentiation of a function of more than one variable. It has two arguments, the first is a list of integers which index the variables of the function, the second is the function. 
∂  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

above  SYMBOL 
limit1 
above 
This symbol is used within a limit construct to show the limit is being approached from above. It takes no arguments. 
>+  SYMBOL 

→+  SYMBOL 

below  SYMBOL 
limit1 
below 
This symbol is used within a limit construct to show the limit is being approached from below. It takes no arguments. 
>  SYMBOL 

→  SYMBOL 

both_sides  SYMBOL 
limit1 
both_sides 
This symbol is used within a limit construct to show the limit is being approached from both sides. It takes no arguments. 
>+  SYMBOL 

→±  SYMBOL 

limit  APPLICATION 
limit1 
limit 
This symbol is used to denote the limit of a unary function. It takes 3 arguments: the limiting value of the argument, the method of approach (either null, above, below or both_sides) and the function. 
lim  APPLICATION 

>?  SYMBOL 
limit1 
null 
This symbol is used within a limit construct to avoid specifying the method of approach to the limit. It takes no arguments. 
→?  SYMBOL 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

curl  APPLICATION 
veccalc1 
curl 
This symbol is used to represent the curl function. It takes one argument which should be a vector of scalar valued functions, intended to represent a vector valued function and returns a vector of functions. It should satisfy the defining relation: curl(F) = i X \partial(F)/\partial(x) + j X \partial(F)/\partial(y) + j X \partial(F)/\partial(Z) where i,j,k are the unit vectors corresponding to the x,y,z axes respectively and the multiplication X is cross multiplication. 
divergence  APPLICATION 
veccalc1 
divergence 
This symbol is used to represent the divergence function. It takes one argument which should be a vector of scalar valued functions, intended to represent a vector valued function and returns a scalar value. It should satisfy the defining relation: divergence(F) = \partial(F_(x_1))/\partial(x_1) + ... + \partial(F_(x_n))/\partial(x_n) 
div  APPLICATION 

grad  APPLICATION 
veccalc1 
grad 
This symbol is used to represent the grad function. It takes one argument which should be a scalar valued function and returns a vector of functions. It should satisfy the defining relation: grad(F) = (\partial(F)/\partial(x_1), ... ,\partial(F)/partial(x_n)) 
Laplacian  APPLICATION 
veccalc1 
Laplacian 
This symbol is used to represent the laplacian function. It takes one argument which should be a vector of scalar valued functions, intended to represent a vector valued function and returns a vector of functions. It should satisfy the defining relation: laplacian(F) = \partial^2(F)/\partial(x_1)^2 + ... + \partial^2(F)/\partial(x_n)^2 
∆  APPLICATION 

∇²  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

!  OP_FACT 
integer1 
factorial 
The symbol to represent a unary factorial function on nonnegative integers. 
factor_of  APPLICATION 
integer1 
factorof 
This is the binary OpenMath operator that is used to indicate the mathematical relationship a "is a factor of" b, where a is the first argument and b is the second. This relationship is true if and only if b mod a = 0. 
quot  APPLICATION 
integer1 
quotient 
The symbol to represent the integer (binary) division operator. That is, for integers a and b, quotient(a,b) denotes q such that a=b*q+r, with r less than b and a*r positive. 
/  APPLICATION 

rem  APPLICATION 
integer1 
remainder 
The symbol to represent the integer remainder after (binary) division. For integers a and b, remainder(a,b) denotes r such that a=b*q+r, with r less than b and a*r positive. 
\  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

apply_to_list  APPLICATION 
fns2 
apply_to_list 
This symbol is used to denote the repeated application of an nary function on the elements of a given list. For example when used with plus or times this can represent sums and products. The symbol takes two arguments; the first of which is the nary function, the second a list. 
ker  APPLICATION 
fns2 
kernel 
This symbol denotes the kernel of a given function. This may be defined as the subset of the range of the given function which maps to the identity element of the image of the given function, however no semantics are assumed. The kernel of a function is also known as the null space of the function. 
rightComp  APPLICATION 
fns2 
right_compose 
This symbol represents a function forming the rightcomposition of its two functional arguments. 
right_compose  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

based_integer  APPLICATION 
nums1 
based_integer 
This symbol represents the constructor function for integers, specifying the base. It takes two arguments, the first is a positive integer to denote the base to which the number is represented, the second argument is a string which contains an optional sign and the digits of the integer, using 09az (as a consequence of this no radix greater than 35 is supported). Base 16 and base 10 are already covered in the encodings of integers. 
e  SYMBOL 
nums1 
e 
This symbol represents the base of the natural logarithm, approximately 2.718. See Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1. 
gamma  SYMBOL 
nums1 
gamma 
A symbol to convey the notion of the gamma constant as defined in Abramowitz and Stegun, Handbook of Mathematical Functions, section 6.1.3. It is the limit of 1 + 1/2 + 1/3 + ... + 1/m  ln m as m tends to infinity, this is approximately 0.5772 15664. 
γ  SYMBOL 

i  SYMBOL 
nums1 
i 
This symbol represents the square root of 1. 
inf  SYMBOL 
nums1 
infinity 
A symbol to represent the notion of infinity. 
∞  SYMBOL 

NaN  SYMBOL 
nums1 
NaN 
A symbol to convey the notion of notanumber. The result of an illposed floating computation. See IEEE standard for floating point representations. 
pi  SYMBOL 
nums1 
pi 
A symbol to convey the notion of pi, approximately 3.142. The ratio of the circumference of a circle to its diameter. 
π  SYMBOL 

rational  APPLICATION 
nums1 
rational 
This symbol represents the constructor function for rational numbers. It takes two arguments, the first is an integer p to denote the numerator and the second a nonzero integer q to denote the denominator of the rational p/q. 
frac  APPLICATION 

/  OP_PROD 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

matrix  APPLICATION 
linalg2 
matrix 
This symbol is an nary matrix constructor which requires matrixrow's as arguments. It is used to represent matrices. 
M  APPLICATION 

matrix_row  APPLICATION 
linalg2 
matrixrow 
This symbol is an nary constructor used to represent rows of matrices. Its arguments should be members of a ring. 
vector  APPLICATION 
linalg2 
vector 
This symbol represents an nary function used to construct (or describe) vectors. Vectors in this CD are considered to be row vectors and must therefore be transposed to be considered as column vectors. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

ceiling  APPLICATION 
rounding1 
ceiling 
The round up (to +infinity) operation. 
floor  APPLICATION 
rounding1 
floor 
The round down (to infinity) operation. 
round  APPLICATION 
rounding1 
round 
The round to nearest operation. 
trunc  APPLICATION 
rounding1 
trunc 
The round to zero operation. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

max  APPLICATION 
minmax1 
max 
This symbol denotes the unary maximum function which takes a set as its argument and returns the maximum element in that set. 
min  APPLICATION 
minmax1 
min 
This symbol denotes the unary minimum function which takes a set as its argument and returns the minimum element in that set. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

dist_mean  APPLICATION 
s_dist1 
mean 
This symbol represents a unary function denoting the mean of a distribution. The argument is a univariate function to describe the distribution. That is, if f is the function describing the distribution. The mean is the expression integrate(x*f(x)) w.r.t. x over the range (infinity,infinity). 
dist_mode  APPLICATION 
s_dist1 
mode 

dist_moment  APPLICATION 
s_dist1 
moment 
This symbol represents a ternary function to denote the i'th moment of a distribution. The first argument should be the degree of the moment (that is, for the i'th moment the first argument should be i), the second argument is the value about which the moment is to be taken and the third argument is a univariate function to describe the distribution. That is, if f is the function which describe the distribution. The i'th moment of f about a is the integral of (xa)^i*f(x) with respect to x, over the interval (infinity,infinity). 
dist_sdev  APPLICATION 
s_dist1 
sdev 
This symbol represents a unary function denoting the standard deviation of a distribution. The argument is a univariate function to describe the distribution. The standard deviation of a distribution is the arithmetical mean of the squares of the deviation of the distribution from the mean. 
dist_variance  APPLICATION 
s_dist1 
variance 
This symbol represents a unary function denoting the variance of a distribution. The argument is a function to describe the distribution. That is if f is the function which describes the distribution. The variance of a distribution is the square of the standard deviation of the distribution. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

cartesian_product  APPLICATION 
set1 
cartesian_product 
This symbol represents an nary construction function for constructing the Cartesian product of sets. It takes n set arguments in order to construct their Cartesian product. 
×  OP_PROD 

emptyset  SYMBOL 
set1 
emptyset 
This symbol is used to represent the empty set, that is the set which contains no members. It takes no parameters. 
∅  SYMBOL 

in  OP_PLUS 
set1 
in 
This symbol has two arguments, an element and a set. It is used to denote that the element is in the given set. 
∈  OP_PLUS 

inter  OP_PROD 
set1 
intersect 
This symbol is used to denote the nary intersection of sets. It takes sets as arguments, and denotes the set that contains all the elements that occur in all of them. 
∩  OP_PROD 

map  APPLICATION 
set1 
map 
This symbol represents a mapping function which may be used to construct sets, it takes as arguments a function from X to Y and a set over X in that order. The value that is returned is a set of values in Y. The argument list may be a set or an integer_interval. 
>  OP_AND 

→  OP_AND 

not_in  OP_PLUS 
set1 
notin 
This symbol has two arguments, an element and a set. It is used to denote that the element is not in the given set. 
¬∈  OP_PLUS 

∉  OP_PLUS 

not_prsubset  OP_PLUS 
set1 
notprsubset 
This symbol has two (set) arguments. It is used to denote that the first set is not a proper subset of the second. A proper subset of a set is a subset of the set but not actually equal to it. 
¬⊊  OP_PLUS 

not_subset  OP_PLUS 
set1 
notsubset 
This symbol has two (set) arguments. It is used to denote that the first set is not a subset of the second. 
⊄  OP_PLUS 

prsubset  OP_PLUS 
set1 
prsubset 
This symbol has two (set) arguments. It is used to denote that the first set is a proper subset of the second, that is a subset of the second set but not actually equal to it. 
⊊  OP_PLUS 

set  APPLICATION 
set1 
set 
This symbol represents the set construct. It is an nary function. The set entries are given explicitly. There is no implied ordering to the elements of a set. 
{}  APPLICATION 

setdiff  APPLICATION 
set1 
setdiff 
This symbol is used to denote the set difference of two sets. It takes two sets as arguments, and denotes the set that contains all the elements that occur in the first set, but not in the second. 
without  OP_PLUS 

\  OP_PLUS 

size  APPLICATION 
set1 
size 
This symbol is used to denote the number of elements in a set. It is either a nonnegative integer, or an infinite cardinal number. The symbol infinity may be used for an unspecified infinite cardinal. 
#  APPLICATION 

subset  OP_PLUS 
set1 
subset 
This symbol has two (set) arguments. It is used to denote that the first set is a subset of the second. 
⊂  OP_PLUS 

such_that  BINDING 
set1 
suchthat 
This symbol represents the suchthat function which may be used to construct sets, it takes two arguments. The first argument should be the set which contains the elements of the set we wish to represent, the second argument should be a predicate, that is a function from the set to the booleans which describes if an element is to be in the set returned. 
  OP_BIND 

union  OP_PROD 
set1 
union 
This symbol is used to denote the nary union of sets. It takes sets as arguments, and denotes the set that contains all the elements that occur in any of them. 
∪  OP_PROD 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

/\  OP_AND 
logic1 
and 
This symbol represents the logical and function which is an nary function taking boolean arguments and returning a boolean value. It is true if all arguments are true or false otherwise. 
∧  OP_AND 

<>  OP_IMPL 
logic1 
equivalent 
This symbol is used to show that two boolean expressions are logically equivalent, that is have the same boolean value for any inputs. 
⇔  OP_IMPL 

false  SYMBOL 
logic1 
false 
This symbol represents the boolean value false. 
⊭  SYMBOL 

>  OP_IMPL 
logic1 
implies 
This symbol represents the logical implies function which takes two boolean expressions as arguments. It evaluates to false if the first argument is true and the second argument is false, otherwise it evaluates to true. 
⇒  OP_IMPL 

not  OP_EXP 
logic1 
not 
This symbol represents the logical not function which takes one boolean argument, and returns the opposite boolean value. 
¬  OP_EXP 

\/  OP_OR 
logic1 
or 
This symbol represents the logical or function which is an nary function taking boolean arguments and returning a boolean value. It is true if any of the arguments are true or false otherwise. 
∨  OP_OR 

true  SYMBOL 
logic1 
true 
This symbol represents the boolean value true. 
⊨  SYMBOL 

\%  OP_OR 
logic1 
xor 
This symbol represents the logical xor function which is an nary function taking boolean arguments and returning a boolean value. It is true if there are an odd number of true arguments or false otherwise. 
⊻  OP_OR 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

._.  OP_PLUS 
interval1 
integer_interval 
A symbol to denote a discrete 1 dimensional interval from the first argument to the second (inclusive), where the discretisation occurs at unit intervals. The arguments are the start and the end points of the interval in that order. 
...  OP_PLUS 
interval1 
interval 
A symbol to denote a continuous 1dimensional interval without any information about the character of the end points (used in definite integration). The arguments are the start and the end points of the interval in that order. 
..  OP_PLUS 
interval1 
interval_cc 
A symbol to denote a continuous 1dimensional interval with both end points included in the interval. The arguments are the start and the end points of the interval in that order. 
..<  OP_PLUS 
interval1 
interval_co 
A symbol to denote a continuous 1dimensional interval with the first point included in the interval, but the last excluded. The arguments are the start and the end points of the interval in that order. 
<..  OP_PLUS 
interval1 
interval_oc 
A symbol to denote a continuous 1dimensional interval with the first point excluded from the interval, but the last included. The arguments are the start and the end points of the interval in that order. 
<..<  OP_PLUS 
interval1 
interval_oo 
A symbol to denote a continuous 1dimensional interval with both end points excluded from the interval. The arguments are the start and the end points of the interval in that order. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

dom  APPLICATION 
fns1 
domain 
This symbol denotes the domain of a given function, which is the set of values it is defined over. 
appdom  APPLICATION 
fns1 
domainofapplication 
The domainofapplication element denotes the domain over which a given function is being applied. It is intended in MathML to be a more general alternative to specification of this domain using such quantifier elements as bvar, lowlimit or condition. 
I  APPLICATION 
fns1 
identity 
The identity function, it takes one argument and returns the same value. 
img  APPLICATION 
fns1 
image 
This symbol denotes the image of a given function, which is the set of values the domain of the given function maps to. 
im  APPLICATION 

inv  APPLICATION 
fns1 
inverse 
This symbol is used to describe the inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the inverse function is illdefined without further stipulations. No assumptions are made on the semantics of this inverse. 
lambda  BINDING 
fns1 
lambda 
This symbol is used to represent anonymous functions as lambda expansions. It is used in a binder that takes two further arguments, the first of which is a list of variables, and the second of which is an expression, and it forms the function which is the lambda extraction of the expression 
λ  BINDING 

compose  OP_PROD 
fns1 
left_compose 
This symbol represents the function which forms the leftcomposition of its two (function) arguments. 
∘  OP_PROD 

linv  APPLICATION 
fns1 
left_inverse 
This symbol is used to describe the left inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the left inverse function is illdefined without further stipulations. No other assumptions are made on the semantics of this left inverse. 
range  APPLICATION 
fns1 
range 
This symbol denotes the range of a function, that is a set that the function will map to. The single argument should be the function whos range is being queried. It should be noted that this is not necessarily equal to the image, it is merely required to contain the image. 
rinv  APPLICATION 
fns1 
right_inverse 
This symbol is used to describe the right inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the right inverse function is illdefined without further stipulations. No other assumptions are made on the semantics of this right inverse. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

abs  APPLICATION 
arith1 
abs 
A unary operator which represents the absolute value of its argument. The argument should be numerically valued. In the complex case this is often referred to as the modulus. 
divide  OP_PROD 
arith1 
divide 
This symbol represents a (binary) division function denoting the first argument rightdivided by the second, i.e. divide(a,b)=a*inverse(b). It is the inverse of the multiplication function defined by the symbol times in this CD. 
/  OP_PROD 

÷  OP_PROD 

gcd  APPLICATION 
arith1 
gcd 
The symbol to represent the nary function to return the gcd (greatest common divisor) of its arguments. 
lcm  APPLICATION 
arith1 
lcm 
The symbol to represent the nary function to return the least common multiple of its arguments. 
minus  OP_PLUS 
arith1 
minus 
The symbol representing a binary minus function. This is equivalent to adding the additive inverse. 
  OP_PLUS 

plus  OP_PLUS 
arith1 
plus 
The symbol representing an nary commutative function plus. 
+  OP_PLUS 

power  OP_EXP 
arith1 
power 
This symbol represents a power function. The first argument is raised to the power of the second argument. When the second argument is not an integer, powering is defined in terms of exponentials and logarithms for the complex and real numbers. This operator can represent general powering. 
^  OP_EXP 

product  APPLICATION 
arith1 
product 
An operator taking two arguments, the first being the range of multiplication e.g. an integral interval, the second being the function to be multiplied. Note that the product may be over an infinite interval. 
∏  APPLICATION 

root  APPLICATION 
arith1 
root 
A binary operator which represents its first argument "lowered" to its n'th root where n is the second argument. This is the inverse of the operation represented by the power symbol defined in this CD. Care should be taken as to the precise meaning of this operator, in particular which root is represented, however it is here to represent the general notion of taking n'th roots. As inferred by the signature relevant to this symbol, the function represented by this symbol is the single valued function, the specific root returned is the one indicated by the first CMP. Note also that the converse of the second CMP is not valid in general. 
√  APPLICATION 

sum  APPLICATION 
arith1 
sum 
An operator taking two arguments, the first being the range of summation, e.g. an integral interval, the second being the function to be summed. Note that the sum may be over an infinite interval. 
∑  APPLICATION 

times  OP_PLUS 
arith1 
times 
The symbol representing an nary multiplication function. 
×  OP_PROD 

∙  OP_PROD 

unary_minus  APPLICATION 
arith1 
unary_minus 
This symbol denotes unary minus, i.e. the additive inverse. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

argument  APPLICATION 
complex1 
argument 
This symbol represents the unary function which returns the argument of a complex number, viz. the angle which a straight line drawn from the number to zero makes with the Real line (measured anticlockwise). The argument to the symbol is the complex number whos argument is being taken. 
complex_cartesian  APPLICATION 
complex1 
complex_cartesian 
This symbol represents a constructor function for complex numbers specified as the Cartesian coordinates of the relevant point on the complex plane. It takes two arguments, the first is a number x to denote the real part and the second a number y to denote the imaginary part of the complex number x + i y. (Where i is the square root of 1.) 
complex_polar  APPLICATION 
complex1 
complex_polar 
This symbol represents a constructor function for complex numbers specified as the polar coordinates of the relevant point on the complex plane. It takes two arguments, the first is a nonnegative number r to denote the magnitude and the second a number theta (given in radians) to denote the argument of the complex number r e^(i theta). (i and e are defined as in this CD). 
conj  APPLICATION 
complex1 
conjugate 
A unary operator representing the complex conjugate of its argument. 
imaginary  APPLICATION 
complex1 
imaginary 
This represents the imaginary part of a complex number 
real  APPLICATION 
complex1 
real 
This represents the real part of a complex number 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

~  OP_EQ 
relation1 
approx 
This symbol is used to denote the approximate equality of its two arguments. 
≅  OP_EQ 

=  OP_EQ 
relation1 
eq 
This symbol represents the binary equality function. 
>=  OP_EQ 
relation1 
geq 
This symbol represents the binary greater than or equal to function which returns true if the first argument is greater than or equal to the second, it returns false otherwise. 
≥  OP_EQ 

>  OP_EQ 
relation1 
gt 
This symbol represents the binary greater than function which returns true if the first argument is greater than the second, it returns false otherwise. 
<=  OP_EQ 
relation1 
leq 
This symbol represents the binary less than or equal to function which returns true if the first argument is less than or equal to the second, it returns false otherwise. 
≤  OP_EQ 

<  OP_EQ 
relation1 
lt 
This symbol represents the binary less than function which returns true if the first argument is less than the second, it returns false otherwise. 
neq  OP_EQ 
relation1 
neq 
This symbol represents the binary inequality function. 
¬=  OP_EQ 

≠  OP_EQ 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

arccos  APPLICATION 
transc1 
arccos 
This symbol represents the arccos function. This is the inverse of the cos function as described in Abramowitz and Stegun, section 4.4. It takes one argument. 
arccosh  APPLICATION 
transc1 
arccosh 
This symbol represents the arccosh function as described in Abramowitz and Stegun, section 4.6. 
arccot  APPLICATION 
transc1 
arccot 
This symbol represents the arccot function as described in Abramowitz and Stegun, section 4.4. 
arccoth  APPLICATION 
transc1 
arccoth 
This symbol represents the arccoth function as described in Abramowitz and Stegun, section 4.6. 
arccsc  APPLICATION 
transc1 
arccsc 
This symbol represents the arccsc function as described in Abramowitz and Stegun, section 4.4. 
arccsch  APPLICATION 
transc1 
arccsch 
This symbol represents the arccsch function as described in Abramowitz and Stegun, section 4.6. 
arcsec  APPLICATION 
transc1 
arcsec 
This symbol represents the arcsec function as described in Abramowitz and Stegun, section 4.4. 
arcsech  APPLICATION 
transc1 
arcsech 
This symbol represents the arcsech function as described in Abramowitz and Stegun, section 4.6. 
arcsin  APPLICATION 
transc1 
arcsin 
This symbol represents the arcsin function. This is the inverse of the sin function as described in Abramowitz and Stegun, section 4.4. It takes one argument. 
arcsinh  APPLICATION 
transc1 
arcsinh 
This symbol represents the arcsinh function as described in Abramowitz and Stegun, section 4.6. 
arctan  APPLICATION 
transc1 
arctan 
This symbol represents the arctan function. This is the inverse of the tan function as described in Abramowitz and Stegun, section 4.4. It takes one argument. 
arctanh  APPLICATION 
transc1 
arctanh 
This symbol represents the arctanh function as described in Abramowitz and Stegun, section 4.6. 
cos  APPLICATION 
transc1 
cos 
This symbol represents the cos function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
cosh  APPLICATION 
transc1 
cosh 
This symbol represents the cosh function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
cot  APPLICATION 
transc1 
cot 
This symbol represents the cot function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
coth  APPLICATION 
transc1 
coth 
This symbol represents the coth function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
csc  APPLICATION 
transc1 
csc 
This symbol represents the csc function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
csch  APPLICATION 
transc1 
csch 
This symbol represents the csch function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
exp  APPLICATION 
transc1 
exp 
This symbol represents the exponentiation function as described in Abramowitz and Stegun, section 4.2. It takes one argument. 
ln  APPLICATION 
transc1 
ln 
This symbol represents the ln function (natural logarithm) as described in Abramowitz and Stegun, section 4.1. It takes one argument. Note the description in the CMP/FMP of the branch cut. If signed zeros are in use, the inequality needs to be nonstrict. 
log  APPLICATION 
transc1 
log 
This symbol represents a binary log function; the first argument is the base, to which the second argument is log'ed. It is defined in Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1 
sec  APPLICATION 
transc1 
sec 
This symbol represents the sec function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
sech  APPLICATION 
transc1 
sech 
This symbol represents the sech function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
sin  APPLICATION 
transc1 
sin 
This symbol represents the sin function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
sinh  APPLICATION 
transc1 
sinh 
This symbol represents the sinh function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
tan  APPLICATION 
transc1 
tan 
This symbol represents the tan function as described in Abramowitz and Stegun, section 4.3. It takes one argument. 
tanh  APPLICATION 
transc1 
tanh 
This symbol represents the tanh function as described in Abramowitz and Stegun, section 4.5. It takes one argument. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

bigfloat  APPLICATION 
bigfloat1 
bigfloat 
The bigfloat constructor takes three arguments, a mantissa, a base and the exponent. 
bigfloatprec  APPLICATION 
bigfloat1 
bigfloatprec 
The bigfloat "with precision specified in (another) radix" constructor. Takes 3 arguments, the first argument is a floating point number constructed with the bigfloat constructor, the second is the new radix, whilst the third specifies how many digits are significant. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

A  SYMBOL 
setname2 
A 
This symbol represents the set of algebraic numbers. 
Boolean  SYMBOL 
setname2 
Boolean 
This symbol represents the set of Booleans. That is the truth values, true and false. 
GFp  APPLICATION 
setname2 
GFp 
This symbol represents the finite field of integers modulo p, where p is a prime. 
GFpn  APPLICATION 
setname2 
GFpn 
This symbol represents the finite field with p^n elements, where p is a prime. 
H  SYMBOL 
setname2 
H 
This symbol represents the set of quaternions. 
QuotientField  APPLICATION 
setname2 
QuotientField 
This symbol represents the quotient field of any integral domain. 
Zm  APPLICATION 
setname2 
Zm 
This symbol represents the set of integers modulo m, where m is not necessarily a prime. It takes one argument, the integer m. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

make_Setoid  APPLICATION 
setoid 
make_Setoid 
The contructor for the tuples consisting of a set, an equivalence relation on the set, and a proof that the relation is actually an equivalence relation. 
Setoid  APPLICATION 
setoid 
Setoid 
The contructor for the type of set with an equivalence relation on it. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

permutation  APPLICATION 
permutation1 
permutation 
This symbols is an nary function whose arguments are cycles of length at least 2 with the property that all entries of all cycles are mutually distinct. The permutation symbol constructs a bijective map from the set X of entries of the cycles to X. The map is defined as follows: if E occurs as an entry of a cycle, then the permutation maps E to the entry following E in the same cycle if it exists and to the first entry in the same cycle otherwise. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

polynomial_ring  SYMBOL 
polysts 
polynomial_ring 
The type of all polynomial rings, e.g. from polyr or polyd OCDs 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

const_node  APPLICATION 
polyslp 
const_node 
This constructor takes one argument, which is a value from the coefficient ring. It is intended to represent a constant node. 
depth  APPLICATION 
polyslp 
depth 
A unary function taking an slp as argument and returning the greatest depth of any leaf node, that is the length of the longest contiguous path to any leaf node. 
inp_node  APPLICATION 
polyslp 
inp_node 
This constructor takes one argument, which is a variable. The return value is intended to represent an input node. 
left_ref  APPLICATION 
polyslp 
left_ref 
Takes as argument a node of an slp. Returns the value of the left hand pointer of the node. 
length  APPLICATION 
polyslp 
length 
A unary function taking an slp as argument and returning the length of this slp. 
monte_carlo_eq  APPLICATION 
polyslp 
monte_carlo_eq 
This is a MonteCarlo equality test, it takes three arguments, the first two are slps representing polynomials, the third argument is the maximum probability of incorrectness that is required of the equality test. (MonteCarlo equality tests are very important for slps as they offer the only tractable method of solving the equality problem in many cases) 
node_selector  APPLICATION 
polyslp 
node_selector 
Takes an slp as the first argument, the second argument is the position of the required node. Returns the node of the slp at this position. 
op_node  APPLICATION 
polyslp 
op_node 
This constructor takes three arguments. The first argument is a symbol from opnode, meant to specify whether the node is a plus, minus times or divide node, the second and third arguments are integers, which are the numbers of the lines which are the arguments of the operation 
poly_ring_SLP  APPLICATION 
polyslp 
poly_ring_SLP 
The constructor of the polynomial ring. The first argument is a ring, (the ring of the coefficients), the rest are the variables, in any order. 
polynomial_SLP  APPLICATION 
polyslp 
polynomial_SLP 
The constructor of Polynomials built with Straight Line Program representation. The first argument is the polynomial ring containing the polynomial built with poly_ring_SLP, The second argument is the program body built with prog_body. 
prog_body  APPLICATION 
polyslp 
prog_body 
The constructor of the body of the straight line program the arguments represent straight line instructions, as constructed by the following three constructors, op_node, inp_node and const_node, possibly wrapped in the return symbol (from the opnode CD). The order is taken to be the order in which they appear. 
quotient  APPLICATION 
polyslp 
quotient 
A quotient function for polynomials represented by slps. It is a requirement that this is an exact division. 
return_code  APPLICATION 
polyslp 
return_code 

right_ref  APPLICATION 
polyslp 
right_ref 
Takes as argument a node of an slp. Returns the value of the right hand pointer of the node. 
slp_degree  APPLICATION 
polyslp 
slp_degree 
A unary function taking an slp as argument and returning the apparent multiplicative degree of the slp, without performing any cancellation. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

col_matrix  APPLICATION 
linalg3 
matrix 
This symbol is an nary matrix constructor which requires matrixcolumn's as arguments. It is used to represent matrices. 
matrix_column  APPLICATION 
linalg3 
matrixcolumn 
This symbol is an nary constructor used to represent columns of matrices. Its arguments should be members of a ring. 
col_vector  APPLICATION 
linalg3 
vector 
This symbol represents an nary function used to construct (or describe) vectors. Vectors in this CD are considered to be column vectors, and must therefore be transposed to be considered as row vectors. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

cons  APPLICATION 
list2 
cons 
This symbol represents the cons list function. It takes 2 arguments: the second must be a list, where the elements have the same type as the type of the first. The function denotes a new list which has the first argument as its first element followed by the elements of the second argument. 
.  OP_PLUS 

first  APPLICATION 
list2 
first 
This symbol represents a function which returns the first elements of its argument, which should be a list. 
CAR  APPLICATION 

rest  APPLICATION 
list2 
rest 
This symbol represents a function which returns a list made up of all the elements except the first of its argument, which should be a list. 
CDR  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

DMP  APPLICATION 
polyd 
DMP 
The constructor of DMPs. The first argument is the polynomial ring containing the polynomial and the second is a "SDMP". Should be of the form DMP(PolyRingD(...), SDMP(...)) 
DMPL  APPLICATION 
polyd 
DMPL 
The constructor for lists of multivariate polynomial members of the same polynomial ring. The first argument is a polynomial ring and the rest are "SDMP"s. DMPL can be attributed with the "ordering" symbol to indicate a particular ordering for monomials of all its polynomials. Should be of the form DMPL(PolyRingD(...), SDMP(...)+) 
elimination  APPLICATION 
polyd 
elimination 
This is an ordering, which is partially in terms of one ordering, and partially in terms of another. First argument is a number of variables. Second is ordering to apply on the first so many variables. Third is an ordering on the rest, to be used to break ties. 
graded_lexicographic  APPLICATION 
polyd 
graded_lexicographic 
Total degree order, graded with the lexicographic ordering. Note that, if a poly_ring_d_named is used, lexigographic refers to the order of the variables in the poly_ring_d_named, not to their order as strings. 
graded_reverse_lexicographic  APPLICATION 
polyd 
graded_reverse_lexicographic 
Total degree order, graded with the reverse lexicographic ordering. Note that, if a poly_ring_d_named is used, lexigographic refers to the order of the variables in the poly_ring_d_named, not to their order as strings. 
groebner  APPLICATION 
polyd 
groebner 
The groebner basis (ltreduced, minimal) of a set of polynomials, with respect to a given ordering. First argument is an ordering, the second is a list of polynomials. A program that can compute the basis is required to return a "groebnered" object. 
groebner_basis  APPLICATION 
polyd 
groebner_basis 

lexicographic  APPLICATION 
polyd 
lexicographic 
The lexicographic ordering of terms. Note that, if a poly_ring_d_named is used, lexigographic refers to the order of the variables in the poly_ring_d_named, not to their order as strings. 
ordering  APPLICATION 
polyd 
ordering 
Used as an attribute to indicate an ordering of the terms in a polynomial or list of polynomials. The value of this attribute should be one of the constructors specifying ordering. 
plus  APPLICATION 
polyd 
plus 
The sum. The argument is a DMPL. The sum lies within the same "PolyRingD" i.e. a program implementing this operation should return a DMP with the same "poly_ring_d" (or "poly_ring_d_named"). 
poly_ring_d  APPLICATION 
polyd 
poly_ring_d 
The constructor of polynomial ring. The first argument is a ring (the ring of the coefficients), the second is the number of variables as an integer. 
power  APPLICATION 
polyd 
power 
The power. First argument is a DMP, second argument is the integer power. The power lies within the same "PolyRingD" i.e. a program implementing this operation should return a DMP with the same "poly_ring_d" (or "poly_ring_d_named"). 
reduce  APPLICATION 
polyd 
reduce 
The reduction of a polynomial with respect to a Groebner basis. First argument is a DMP, the second argument is a "groebnered" object. i.e. a program implementing this operation should return a DMP which represents the polynomial reduced with respect to the Groebner basis. 
reverse_lexicographic  APPLICATION 
polyd 
reverse_lexicographic 
The reverse lexicographic ordering of terms. Note that, if a poly_ring_d_named is used, lexigographic refers to the order of the variables in the poly_ring_d_named, not to their order as strings. 
SDMP  APPLICATION 
polyd 
SDMP 
The constructor for multivariate polynomials without any indication of variables or domain for the coefficients. Its arguments are just "term"s. No terms should differ only by the coefficient (i.e it is not permitted to have both "2*x*y" and "x*y" as terms in a SDMP). SDMP can be attributed with the "ordering" symbol to indicate a particular ordering of its terms. This attribute shall not be set if the SDMP is part of DMPL that has this attribute set. If the SDMP is ordered, explicitly or implicitly via an outer ordering, the terms must be in decreasing order with respect to this order. The zero polynomial is represented by an SDMP with no terms. 
term  APPLICATION 
polyd 
term 
The constructor of terms. Valid applications are of the form Term(coeff, exp1, exp2, ... expn) which represents the term coeff * var1^exp1*...varn^expn where n is the number of variables, expi are nonnegative integers. coeff should be nonzero. 
times  APPLICATION 
polyd 
times 
The product. The argument is a DMPL. The product lies within the same "PolyRingD" i.e. a program implementing this operation should return a DMP with the same "poly_ring_d" (or "poly_ring_d_named"). 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

anti_Hermitian  APPLICATION 
linalg5 
antiHermitian 
This symbol represents an antiHermitian matrix, it takes one argument. The argument should be a vector of vectors of values which determine the upper triangle of the matrix. The lower triangle of the matrix is specified by the following relation:  M^* = transpose(M), were M^* denotes the matrix consisting of all the complex conjugates of M. This rules implies that the main diagonal is zero, therefore the argument should not include it. 
banded_matrix  APPLICATION 
linalg5 
banded 
This symbol represents a (p,q) banded matrix, it takes one argument. A (p,q) banded matrix should always be square. The lower nonzero subdiagonal is the first element of the argument, whilst the highest nonzero superdiagonal is given by the last element of the argument. The argument determines the band of possibly nonzero entries which are positioned around the diagonal. It should be a vector of vectors, we note that they will not all be the same length, however the length of the vectors determine p and q. The longest element specifies the diagonal of the matrix and hence the size of the matrix. Every element not in the band is zero. 
constant_matrix  APPLICATION 
linalg5 
constant 
This symbol represents a matrix which has all entries of the same value. It takes two arguments, the first is the size of the matrix, the second is the constant which determines every element. 
diagonal_matrix  APPLICATION 
linalg5 
diagonal_matrix 
This symbol denotes an n_ary function which is used to construct an (nxn) diagonal matrix, that is a matrix where every nondiagonal element is zero, the diagonal elements are equal to the n arguments. 
Hermitian  APPLICATION 
linalg5 
Hermitian 
This symbol represents a Hermitian matrix, it takes one argument. The argument should be a vector of vectors of values which determine the upper triangle of the matrix. The lower triangle of the matrix is specified by the following relation: M^* = transpose(M), were M^* denotes the matrix consisting of all the complex conjugates of M. 
identity_matrix  APPLICATION 
linalg5 
identity 
This symbol denotes a unary function which is used to construct an (nxn) identity matrix where n is the single positive integral argument. 
I  APPLICATION 

lower_Hessenberg  APPLICATION 
linalg5 
lowerHessenberg 
This symbol represents a lowerHessenberg matrix, it takes one argument, the argument is a vector of vectors representing the nonzero elements. The first element of the argument specifies the value of the first superdiagonal, the subsequent elements specify the value of the diagonal and subsequent subdiagonals, all other elements are zero. 
lower_triangular  APPLICATION 
linalg5 
lowerTriangular 

scalar_matrix  APPLICATION 
linalg5 
scalar 
This symbol represents a matrix which is a scalar constant times the identity matrix. It should take three arguments, the first and second specify the number of rows and columns int he matrix respectively and the third specifies the scalar multiplier. 
skew_symmetric_matrix  APPLICATION 
linalg5 
skewsymmetric 
This symbol represents a skewsymmetric matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. For j>i the ij'th element of the matrix is the (ji+1)'th element of the i'th element of the argument. This determines the elements above the diagonal of the matrix, the elements below the diagonal of the matrix must conform to the rule M =  transpose M. This rule implies that the elements on the diagonal must be equal to 0, therefore we do not include these in the argument. 
symmetric_matrix  APPLICATION 
linalg5 
symmetric 
This symbol represents a symmetric matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. For j>=i the ij'th element of the matrix is the (ji+1)'th element of the i'th element of the argument. This determines the upper triangle of the matrix, the lower triangle is specified by the rule M = transpose M. 
tridiagonal_matrix  APPLICATION 
linalg5 
tridiagonal 
This symbol represents a tridiagonal matrix, it takes one argument which should be a vector of vectors which should have three elements. These should be vectors representing the subdiagonal, the diagonal and the superdiagonal in that order. 
upper_Hessenberg  APPLICATION 
linalg5 
upperHessenberg 
This symbol represents an upperHessenberg matrix, it takes one argument, the argument is a vector of vectors representing the nonzero elements. The first element of the argument specifies the value of the first subdiagonal, the subsequent elements specify the value of the diagonal and subsequent superdiagonals, all other elements are zero. 
upper_triangular  APPLICATION 
linalg5 
uppertriangular 
This symbol represents an uppertriangular matrix, it takes one argument. The argument should be a vector of vectors of elements of the matrix. 
zero_matrix  APPLICATION 
linalg5 
zero 
This symbol denotes a function with two integral arguments m,n which is used to construct an (mxn) zero matrix. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

antisymmetric  APPLICATION 
relation0 
antisymmetric 
Proposition; the type of antisymmetric binary relations. 
equivalence  APPLICATION 
relation0 
equivalence 
Proposition; the type of equivalence relations, namely relations that are reflexive, symmetric and transitive. 
irreflexive  APPLICATION 
relation0 
irreflexive 
Proposition; the type of irreflexive binary relations. 
order  APPLICATION 
relation0 
order 
Proposition; the type of order relations, namely relations that are reflexive, antisymmetric and transitive. 
partial_equivalence  APPLICATION 
relation0 
partial_equivalence 
Proposition; the type of partial_equivalence relations, namely relations that are symmetric, and transitive. 
pre_order  APPLICATION 
relation0 
pre_order 
Proposition; the type of preorder relations, namely relations that are reflexive and transitive. 
reflexive  APPLICATION 
relation0 
reflexive 
Proposition; the type of reflexive binary relations. 
relation  APPLICATION 
relation0 
relation 
Type constructor; returns the type of binary relations on a set. 
strict_order  APPLICATION 
relation0 
strict_order 
Proposition; the type of strict order relations, namely relations that are irreflexive, antisymmetric and transitive. 
symmetric  APPLICATION 
relation0 
symmetric 
Proposition; the type of symmetric binary relations. 
transitive  APPLICATION 
relation0 
transitive 
Proposition; the type of transitive binary relations. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

characteristic_eqn  APPLICATION 
linalg4 
characteristic_eqn 
This symbol represents the polynomial which appears in the left hand side of the characteristic equation of a matrix. It takes one argument which should be the matrix. A definition of the characteristic equation is given in Elementary Linear Algebra, Stanley I. Grossman in Definition 2 of chapter 6, page 535. 
columncount  APPLICATION 
linalg4 
columncount 
This symbol represents the function which takes one matrix argument and returns the number of columns in that matrix. 
eigenvalue  APPLICATION 
linalg4 
eigenvalue 
This symbol represents the eigenvalue of a matrix. It takes two arguments the first should be the matrix, the second should be an index to specify the eigenvalue. The ordering imposed on the eigenvalues is first on the modulus of the value, and second on the argument of the value. A definition of eigenvalue is given in Elementary Linear Algebra, Stanley I. Grossman in Definition 1 of chapter 6, page 533. 
eigenvector  APPLICATION 
linalg4 
eigenvector 
This symbol represents the eigenvector of a matrix. It takes two arguments the first should be the matrix, the second should be an index to specify which eigenvalue this eigenvector should be paired with. The ordering is as given in the eigenvalue symbol. A definition of eigenvector is given in Elementary Linear Algebra, Stanley I. Grossman in Definition 1 of chapter 6, page 533. 
rank  APPLICATION 
linalg4 
rank 
This symbol represents the function which takes one matrix argument and returns the number of linearly independent rows (or columns) of that matrix. 
rowcount  APPLICATION 
linalg4 
rowcount 
This symbol represents the function which takes one matrix argument and returns the number of rows in that matrix. 
vector_size  APPLICATION 
linalg4 
size 
This symbol represents the function which takes one vector argument and returns the length of that vector. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

inverse_element  APPLICATION 
arith2 
inverse 
A unary operator which represents the inverse of an element of a set. This symbol could be used to represent additive or multiplicative inverses. 
commutative_times  APPLICATION 
arith2 
times 
The symbol representing an nary multiplication function inheriting from the times in arith1, but with the extra property that here it must be commutative. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

convert  APPLICATION 
poly 
convert 
Conversion between polynomial rings. The first argument is a polynomial and the second is a polynomial ring. This represents the conversion of the given polynomial as an element of the given ring. A program that can compute the conversion is required to return a polynomial in the given ring. 
degree  APPLICATION 
poly 
degree 
The total degree of its argument. The value returned is a nonnegative integer. We note that the degree of 0 is undefined. Note that this operation takes no account of any weights that have been defined: see weighted_degree in polyd. 
degree_wrt  APPLICATION 
poly 
degree_wrt 
The degree with respect to a variable (the second argument). We note that the degree of 0 is undefined. 
expand  APPLICATION 
poly 
expand 
Converts a factored or squarefreed form into the expanded polynomial over the same ring, so that factored(recursive) > recursive, etc. 
factor  APPLICATION 
poly 
factor 
The decomposition of its argument into irreducible factors. A program that can compute the factorization is required to return a "factored" object  see above. It is currently an open question whether powers of 1 can be omitted. 
factored  APPLICATION 
poly 
factored 
The constructor for a factorization. Its arguments are formal powers (see previous operator), where the polynomials are supposed to be irreducible (except possibly for a content from the ground ring). Note that "factored" is not a call to factorise something, rather a statement that we know a factorisation. 
gcd  APPLICATION 
poly 
gcd 
The nary greatest common divisor of its polynomial arguments. This is unique up to units. 
lcm  APPLICATION 
poly 
lcm 
The least common multiple of its polynomial arguments. This is unique up to units, but the choice must be compatible with that made for gcd: see the CMP/FMP. 
power  APPLICATION 
poly 
power 
Takes a polynomial and a (nonnegative) integer and produces a formal power. Although OpenMath does not specify operational semantics, the idea here is that these powers are not evaluated. We note that the power from arith1 would suggest the expanded form. 
resultant  APPLICATION 
poly 
resultant 
Function taking three arguments, it represents the resultant of two polynomials, which are the first two arguments, with respect to the given variable which is the third argument. 
squarefree  APPLICATION 
poly 
squarefree 
The squarefree decomposition of its argument. A program that can compute the factorization is required to return a "squarefreed" object. 
squarefreed  APPLICATION 
poly 
squarefreed 
The constructor for a squarefree factorization. Its arguments should have the structure of the above "factored", where the polynomials should be squarefree. Note that this is not necessarily a minimal squarefree decomposition: some exponents can occur more than once. Again, this is a statement that we have a squarefree factorisation, rather than a request to compute one. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

associative  SYMBOL 
semigroup 
associative 
The type of associative binary operation. 
make_Semigroup  APPLICATION 
semigroup 
make_Semigroup 
The contructor for the tuples consisting of a setoid, and an associative binary operation. 
Semigroup  APPLICATION 
semigroup 
Semigroup 
The contructor for the type of semigroups as a Setoid with a binary operation. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

divide  SYMBOL 
opnode 
divide 
A constant value, constructs the divide for division nodes. 
minus  SYMBOL 
opnode 
minus 
A constant value, constructs the minus for subtraction nodes. 
plus  SYMBOL 
opnode 
plus 
A constant value, constructs the plus for addition nodes. 
return  APPLICATION 
opnode 
return 
A unary function, takes a node of an slp, returns the value of the polynomial which corresponds to this node of the slp. 
times  SYMBOL 
opnode 
times 
A constant value, constructs the times for multiplication nodes. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

Bell  APPLICATION 
combinat1 
Bell 
The Bell numbers: Bell(n) is the total number of possible partitions of a set of n elements. 
binomial  APPLICATION 
combinat1 
binomial 
The binomial coefficients. binomial(n, m) is the number of ways of choosing m objects from a collection of n distinct objects without regard to the order. 
Fibonacci  APPLICATION 
combinat1 
Fibonacci 
The Fibonacci numbers, defined by the linear recurrence: Fibonacci(0) = 0, Fibonacci(1) = 1, and Fibonacci(n + 1) = Fibonacci(n) + Fibonacci(n  1). Note that some authors define Fibonacci(0) = 1. 
multinomial  APPLICATION 
combinat1 
multinomial 
The multinomial coefficient, multinomial(n, n1, ... nk) is the number of ways of choosing ni objects of type i (i from 1 to k) without regard to order, in such a way that the total number of objects chosen is n. multinomial(n, n1, ... nk) is equal to n!/(n1!*n2! ...*nk!). 
Stirling1  APPLICATION 
combinat1 
Stirling1 
The Stirling numbers of the first kind. (1)^(nm)*Stirling1(n,m) is the number of permutations of n symbols which have exactly m cycles. Note that there are a few slightly different definitions of these numbers. 
Stirling2  APPLICATION 
combinat1 
Stirling2 
The Stirling numbers of the second kind. Stirling2(n, m) is the number of partitions of a set with n elements into m non empty subsets. Note that there are a few slightly different definitions of these numbers. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

character_table  APPLICATION 
group1 
character_table 
This is the constructor for a character table. Usage: CharacterTable(centralizer_primes, centralizer_indices, classnames, power_map, irreducibles_matrix) If G has n conjugacy classes then: * centralizer_primes is of the form [p1, .., pk] i < j implies that pi < pj and the pi are precisely the primes which divide the order of some centralizer of a conjugacy class * centralizer_indices is of the form [[i11, ...,i1k] ... [in1,...ink]] so the centralizer of class 1 has order p1^i11 ... pk^i1k etc * classnames is a list of n strings which name the conjugacy classes in line with the convention used in the Atlas of Finite Groups * power_map is of the form [list1, ..., listk] where listi[j] is the name of the class where elements of class j go when raised to the power pi. * irreducibles_matrix: rows correspond to irreducible characters, columns are conjugacy classes. Entries are the value of an element of the column's conjugacy class under the character of the row. 
character_table_of_group  APPLICATION 
group1 
character_table_of_group 
Refers to the character table of its argument which must be a group. 
conjugacy_class  APPLICATION 
group1 
conjugacy_class 
The binary function whose value is the set of elements which are conjugate to the second argument in the first. 
declare_group  APPLICATION 
group1 
declare_group 
This symbol is a constructor for groups. It takes four arguments in the following order; a set to specify the elements in the group, a binary operation to specify the group operation, a unary operation to specify inverses of group elements and an element to specify the identity. Both the binary and unary operations should act on elements of the set and return an element of the set. 
derived_subgroup  APPLICATION 
group1 
derived_subgroup 
The unary function whose value is the subgroup of argument generated by all products of the form xyx^1y^1. 
element_set  APPLICATION 
group1 
element_set 
The unary function which returns the set of elements of a group. 
group  APPLICATION 
group1 
group 
The nary function Group. The group generated by its arguments. The arguments must have a natural group operation associated with them. 
is_abelian  APPLICATION 
group1 
is_abelian 
The unary boolean function whose value is true iff the argument is an abelian group 
is_normal  APPLICATION 
group1 
is_normal 
If G, H are the group arguments, then IsNormal(G,H) returns true precisely when G is normal in H. That is, g^1*h*g is defined and contained in H for all h in H and g in G. 
is_subgroup  APPLICATION 
group1 
is_subgroup 
The binary function whose value is true if the second argument is a subgroup of the first. 
normal_closure  APPLICATION 
group1 
normal_closure 
The binary function whose value is the set of conjugates of the elements of the second group by elements of the first, where multiplication between them is defined. 
quotient_group  APPLICATION 
group1 
quotient_group 
The binary function whose value is the factor group of the first argument by the second, assuming the second is normal in the first. 
right_traversal  APPLICATION 
group1 
right_traversal 

sylow_subgroup  APPLICATION 
group1 
sylow_subgroup 
The largest psubgroup of the argument (up to conjugacy). 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

is_primitive  APPLICATION 
permgrp 
is_primitive 
The unary function whose value is true iff its permutation group argument acts primitively. 
is_transitive  APPLICATION 
permgrp 
is_transitive 
The unary function whose value is true iff the permutation group argument acts transitively. 
orbit  APPLICATION 
permgrp 
orbit 
The binary function whose value is the set of integers which are in the orbit of the second argument under the action of the first argument which is a permutation group. 
stabilizer  APPLICATION 
permgrp 
stabilizer 
The first argument is a permutation group, the second is some object (point or set) upon which the first argument acts. The value is the subgroup of the first argument which stabilize the second argument. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

poly_r_rep  APPLICATION 
polyr 
poly_r_rep 
A constructor for the representation of polynomials. The first argument is the polynomial variable, the rest are monomials (in decreasing order of exponent). 
polynomial_r  APPLICATION 
polyr 
polynomial_r 
The constructor of Recursive Polynomials. The first argument is the polynomial ring containing the polynomial and the second is a "poly_r_rep". 
polynomial_ring_r  APPLICATION 
polyr 
polynomial_ring_r 
The constructor of a recursive polynomial ring. The first argument is a ring (the ring of the coefficients), the rest are the variables (in order). 
term  APPLICATION 
polyr 
term 
A constructor for monomials, that is products of powers and elements of the base ring. First argument is from N (the exponent of the variable implied by an outer poly_r_rep) second argument is a coefficient (from the ground field, or a polynomial in lesser variables). 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

exists  BINDING 
quant1 
exists 
This symbol represents the existential ("there exists") quantifier which takes two arguments. It must be placed within an OMBIND element. The first argument is the bound variables (placed within an OMBVAR element), and the second is an expression. 
∃  BINDING 

for_all  BINDING 
quant1 
forall 
This symbol represents the universal ("for all") quantifier which takes two arguments. It must be placed within an OMBIND element. The first argument is the bound variables (placed within an OMBVAR element), and the second is an expression. 
∀  BINDING 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

C  SYMBOL 
setname1 
C 
This symbol represents the set of complex numbers. 
ℂ  SYMBOL 

N  SYMBOL 
setname1 
N 
This symbol represents the set of natural numbers (including zero). 
ℕ  SYMBOL 

P  SYMBOL 
setname1 
P 
This symbol represents the set of positive prime numbers. 
ℙ  SYMBOL 

Q  SYMBOL 
setname1 
Q 
This symbol represents the set of rational numbers. 
ℚ  SYMBOL 

R  SYMBOL 
setname1 
R 
This symbol represents the set of real numbers. 
ℝ  SYMBOL 

Z  SYMBOL 
setname1 
Z 
This symbol represents the set of integers, positive, negative and zero. 
ℤ  SYMBOL 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

otherwise  APPLICATION 
piece1 
otherwise 
This symbol introduces the 'default' value of a piecewise construct. If none of the previous piece constructs can provide the value, this will. It has a single child, the value. 
piece  APPLICATION 
piece1 
piece 
This introduces an individual component of a piecewise definition. It has precisely two arguments: the first is the value, and the second is a Boolean (meant to be a predicate) which is true if and only if this piece is to provide the value of the piecewise construct. 
piecewise  APPLICATION 
piece1 
piecewise 
This operator heads an expression that is being defined piecewise. Its arguments are n objects built with the piece constructor, optionally followed by one built with otherwise constructor. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

mean  APPLICATION 
s_data1 
mean 
This symbol represents an nary function denoting the mean of its arguments. That is, their sum divided by their number. 
median  APPLICATION 
s_data1 
median 
This symbol represents an nary function denoting the median of its arguments. That is, if the data were placed in ascending order then it denotes the middle one (in the case of an odd amount of data) or the average of the middle two (in the case of an even amount of data). 
mode  APPLICATION 
s_data1 
mode 
This symbol represents an nary function denoting the mode of its arguments. That is the value which occurs with the greatest frequency. 
moment  APPLICATION 
s_data1 
moment 
This symbol is used to denote the i'th moment of a set of data. The first argument should be the degree of the moment (that is, for the i'th moment the first argument should be i), the second argument should be the point about which the moment is being taken and the rest of the arguments are treated as the data. For n data values x_1, x_2, ..., x_n the i'th moment about c is (1/n) ((x_1c)^i + (x_2c)^i + ... + (x_nc)^i). See CRC Standard Mathematical Tables and Formulae, editor: Dan Zwillinger, CRC Press Inc., 1996, section 7.7.1. 
sdev  APPLICATION 
s_data1 
sdev 
This symbol represents a function requiring two or more arguments, denoting the sample standard deviation of its arguments. That is, the square root of (the sum of the squares of the deviations from the mean of the arguments, divided by the number of arguments). See CRC Standard Mathematical Tables and Formulae, editor: Dan Zwillinger, CRC Press Inc., 1996, (7.7.11) section 7.7.1. 
variance  APPLICATION 
s_data1 
variance 
This symbol represents a function requiring two or more arguments, denoting the variance of its arguments. That is, the square of the standard deviation. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

one  SYMBOL 
alg1 
one 
This symbol represents the multiplicative identity element. 
zero  SYMBOL 
alg1 
zero 
This symbol represents the additive identity element. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

determinant  APPLICATION 
linalg1 
determinant 
This symbol denotes the unary function which returns the determinant of its argument, the argument should be a square matrix. 
det  APPLICATION 

matrix_selector  APPLICATION 
linalg1 
matrix_selector 
This symbol represents the function which allows individual entries to be selected from a matrix. It takes three arguments, the first is the index of the row and the second is the index of the column of the required element, the third argument is the matrix in question. The indexing is one based, i.e. the element in the top left hand corner is indexed by (1,1). 
outerproduct  APPLICATION 
linalg1 
outerproduct 
This symbol represents the outer product function. It takes two vector arguments and returns a matrix. It is defined as follows: if we write the {i,j}'th element of the matrix to be returned as m_{i,j}, then: m_{i,j}=a_i * b_j where a_i,b_j are the i'th and j'th elements of a, b respectively. 
scalarproduct  APPLICATION 
linalg1 
scalarproduct 
This symbol represents the scalar product function. It takes two vector arguments and returns a scalar value. The scalar product of two vectors a, b is defined as a * b * cos(\theta), where \theta is the angle between the two vectors and . is a euclidean size function. Note that the scalar product is often referred to as the dot product. 
·  OP_PROD 

transpose  APPLICATION 
linalg1 
transpose 
This symbol represents a unary function that denotes the transpose of the given matrix or vector 
vector_selector  APPLICATION 
linalg1 
vector_selector 
This symbol represents the function which allows individual entries to be selected from a vector, or a matrixrow. It takes two arguments. The first argument is the position in the vector (or matrixrow) of the required entry, the second argument is the vector (or matrixrow) in question. The indexing is one based, i.e. the first element is indexed by one. 
vectorproduct  APPLICATION 
linalg1 
vectorproduct 
This symbol represents the vector product function. It takes two three dimensional vector arguments and returns a three dimensional vector. It is defined as follows: if we write a as [a_1,a_2,a_3] and b as [b_1,b_2,b_3] then the vector product denoted a x b = [a_2b_3  a_3b_2 , a_3b_1  a_1b_3 , a_1b_2  a_2b_1]. Note that the vector product is often referred to as the cross product. 
/\  OP_PROD 

∧  OP_PROD 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

list  APPLICATION 
list1 
list 
This symbol denotes the list construct which is an nary function. The list entries must be given explicitly. 
map  APPLICATION 
list1 
map 
This symbol represents a mapping function which may be used to construct lists, it takes as arguments a function from X to Y and a list over X in that order. The value that is returned is a list of values in Y. The argument list may be a set or an integer_interval. 
→  OP_PLUS 

suchthat  APPLICATION 
list1 
suchthat 
This symbol represents the suchthat function which may be used to construct lists, it takes two arguments. The first argument should be the set which contains the elements of the list, the second argument should be a predicate, that is a function from the set to the booleans which describes if an element is to be in the list returned. 
  APPLICATION 

∣  APPLICATION 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

Alt_Definition  PARAGRAPH_TYPE 
alternativedef 
QMath text structure.  
Alt_simple_definition  PARAGRAPH_TYPE 
alternativedef@type=simple 
QMath text structure.  
Alt_inductive_definition  PARAGRAPH_TYPE 
alternativedef@type=inductive 
QMath text structure.  
Alt_implicit_definition  PARAGRAPH_TYPE 
alternativedef@type=implicit 
QMath text structure.  
Alt_definition_obj  PARAGRAPH_TYPE 
alternativedef@type=obj 
QMath text structure.  
Assertion  PARAGRAPH_TYPE 
assertion 
QMath text structure.  
Theorem  PARAGRAPH_TYPE 
assertion@type=theorem 
QMath text structure.  
Lemma  PARAGRAPH_TYPE 
assertion@type=lemma 
QMath text structure.  
Corollary  PARAGRAPH_TYPE 
assertion@type=corollary 
QMath text structure.  
Conjecture  PARAGRAPH_TYPE 
assertion@type=conjecture 
QMath text structure.  
Assumption  PARAGRAPH_TYPE 
assumption 
QMath text structure.  
Axiom  PARAGRAPH_TYPE 
axiom 
QMath text structure.  
Axiom_inclusion  PARAGRAPH_TYPE 
axiominclusion 
QMath text structure.  
Code  PARAGRAPH_TYPE 
code 
QMath text structure.  
Conclude  PARAGRAPH_TYPE 
conclude 
QMath text structure.  
Definition  PARAGRAPH_TYPE 
definition 
QMath text structure.  
Simple_definition  PARAGRAPH_TYPE 
definition@type=simple 
QMath text structure.  
Inductive_definition  PARAGRAPH_TYPE 
definition@type=inductive 
QMath text structure.  
Implicit_definition  PARAGRAPH_TYPE 
definition@type=implicit 
QMath text structure.  
Definition_obj  PARAGRAPH_TYPE 
definition@type=obj 
QMath text structure.  
Derive  PARAGRAPH_TYPE 
derive 
QMath text structure.  
Example  PARAGRAPH_TYPE 
example 
QMath text structure.  
Example_for  PARAGRAPH_TYPE 
example@type=for 
QMath text structure.  
Example_against  PARAGRAPH_TYPE 
example@type=against 
QMath text structure.  
Exercise  PARAGRAPH_TYPE 
exercise 
QMath text structure.  
Hint  PARAGRAPH_TYPE 
hint 
QMath text structure.  
Hypothesis  PARAGRAPH_TYPE 
hypothesis 
QMath text structure.  
Omlet  PARAGRAPH_TYPE 
omlet 
QMath text structure.  
Abstract  PARAGRAPH_TYPE 
omtext@type=abstract 
QMath text structure.  
Introduction  PARAGRAPH_TYPE 
omtext@type=introduction 
QMath text structure.  
Conclusion  PARAGRAPH_TYPE 
omtext@type=conclusion 
QMath text structure.  
Thesis  PARAGRAPH_TYPE 
omtext@type=thesis 
QMath text structure.  
Antithesis  PARAGRAPH_TYPE 
omtext@type=antithesis 
QMath text structure.  
Elaboration  PARAGRAPH_TYPE 
omtext@type=elaboration 
QMath text structure.  
Motivation  PARAGRAPH_TYPE 
omtext@type=motivation 
QMath text structure.  
Evidence  PARAGRAPH_TYPE 
omtext@type=evidence 
QMath text structure.  
Linkage  PARAGRAPH_TYPE 
omtext@type=linkage 
QMath text structure.  
Narrative  PARAGRAPH_TYPE 
omtext@type=narrative 
QMath text structure.  
Sequence  PARAGRAPH_TYPE 
omtext@type=sequence 
QMath text structure.  
Alternative  PARAGRAPH_TYPE 
omtext@type=alternative 
QMath text structure.  
General  PARAGRAPH_TYPE 
omtext@type=general 
QMath text structure.  
Premise  PARAGRAPH_TYPE 
premise 
QMath text structure.  
Private  PARAGRAPH_TYPE 
private 
QMath text structure.  
Proof  PARAGRAPH_TYPE 
proof 
QMath text structure.  
Proof_object  PARAGRAPH_TYPE 
proofobject 
QMath text structure.  
Solution  PARAGRAPH_TYPE 
solution 
QMath text structure.  
Theory  PARAGRAPH_TYPE_LEVEL_0 
theory 
QMath text structure.  
Theory_inclusion  PARAGRAPH_TYPE 
theoryinclusion 
QMath text structure.  
for  METADATA 
@for 
QMath text structure.  
xref  METADATA 
@xref 
QMath text structure.  
catalogue  METADATA 
@catalogue 
QMath text structure.  
Catalogue  PARAGRAPH_TYPE_LEVEL_0 
catalogue 
QMath text structure.  
Scientific_antecedent  METADATA 
DC:Contributor@role=ant 
Dublin Core metadata.  
Collaborator  METADATA 
DC:Contributor@role=clb 
Dublin Core metadata.  
Editor  METADATA 
DC:Contributor@role=edt 
Dublin Core metadata.  
Thesis_advisor  METADATA 
DC:Contributor@role=ths 
Dublin Core metadata.  
Transcriber  METADATA 
DC:Contributor@role=trc 
Dublin Core metadata.  
Translator  METADATA 
DC:Contributor@role=trl 
Dublin Core metadata.  
Source  METADATA 
DC:Source 
Dublin Core metadata.  
Description  METADATA 
DC:Description 
Dublin Core metadata.  
ISBN  METADATA 
DC:Identifier@scheme=isbn 
Dublin Core metadata.  
ISSN  METADATA 
DC:Identifier@scheme=issn 
Dublin Core metadata.  
Created  METADATA 
DC:Date@action=created 
Dublin Core metadata.  
Updated  METADATA 
DC:Date@action=updated 
Dublin Core metadata.  
Formal_version  PARAGRAPH_SECTION_MARKER 
qmath_paragraph_section_FMP 
QMath text structure. 
QMath syntax  Symbol type  OpenMath CD  OpenMath name  Description 

depends_on  METADATA 
extradata/dependson/ref@type=cite@xref 
QMath text structure.  
difficulty  METADATA 
extradata/difficulty@level 
QMath text structure.  
abstractness  METADATA 
extradata/abstractness@level 
QMath text structure.  
competence_level  METADATA 
extradata/competencelevel@use 
QMath text structure.  
Interaction  CONTAINER_TYPE 
interaction 
QMath text structure.  
Item  CONTAINER_TYPE 
interaction 
QMath text structure.  
Feedback  PARAGRAPH_TYPE 
feedback 
QMath text structure.  
Feedback_keep  PARAGRAPH_TYPE 
feedback@keep=yes 
QMath text structure.  
Blank  CONTAINER_TYPE 
blank 
QMath text structure.  
Answer_map  CONTAINER_TYPE 
answer_map 
QMath text structure.  
Condition  CONTAINER_TYPE 
condition 
QMath text structure.  
xref  METADATA 
@xref 
QMath text structure. 