Español English
E-mail: web@matracas.org

## en/Mathematics/OpenMath/calculus1

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

## en/Mathematics/OpenMath/limit1

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

## en/Mathematics/OpenMath/veccalc1

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

## en/Mathematics/OpenMath/integer1

QMath syntax Symbol type OpenMath CD OpenMath name Description
! OP_FACT integer1 factorial The symbol to represent a unary factorial function on non-negative 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

## en/Mathematics/OpenMath/fns2

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 n-ary 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 n-ary 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 right-composition of its two functional arguments.
right_compose APPLICATION

## en/Mathematics/OpenMath/nums1

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 0-9a-z (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 not-a-number. The result of an ill-posed 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

## en/Mathematics/OpenMath/linalg2

QMath syntax Symbol type OpenMath CD OpenMath name Description
matrix APPLICATION linalg2 matrix This symbol is an n-ary 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 n-ary constructor used to represent rows of matrices. Its arguments should be members of a ring.
vector APPLICATION linalg2 vector This symbol represents an n-ary 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.

## en/Mathematics/OpenMath/rounding1

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.

## en/Mathematics/OpenMath/minmax1

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.

## en/Mathematics/OpenMath/s_dist1

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 (x-a)^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.

## en/Mathematics/OpenMath/set1

QMath syntax Symbol type OpenMath CD OpenMath name Description
cartesian_product APPLICATION set1 cartesian_product This symbol represents an n-ary 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 n-ary 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 n-ary 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 non-negative 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 n-ary 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

## en/Mathematics/OpenMath/logic1

QMath syntax Symbol type OpenMath CD OpenMath name Description
/\ OP_AND logic1 and This symbol represents the logical and function which is an n-ary 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 n-ary 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 n-ary 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

## en/Mathematics/OpenMath/interval1

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 1-dimensional 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 1-dimensional 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 1-dimensional 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 1-dimensional 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 1-dimensional interval with both end points excluded from the interval. The arguments are the start and the end points of the interval in that order.

## en/Mathematics/OpenMath/fns1

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 ill-defined 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 left-composition 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 ill-defined 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 ill-defined without further stipulations. No other assumptions are made on the semantics of this right inverse.

## en/Mathematics/OpenMath/arith1

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 right-divided 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 n-ary function to return the gcd (greatest common divisor) of its arguments.
lcm APPLICATION arith1 lcm The symbol to represent the n-ary 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 n-ary 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 n-ary multiplication function.
× OP_PROD
OP_PROD
unary_minus APPLICATION arith1 unary_minus This symbol denotes unary minus, i.e. the additive inverse.

## en/Mathematics/OpenMath/complex1

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 anti-clockwise). 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

## en/Mathematics/OpenMath/relation1

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

## en/Mathematics/OpenMath/transc1

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 non-strict.
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.

## en/Mathematics/OpenMath/bigfloat1

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.

## en/Mathematics/OpenMath/experimental/setname2

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.

## en/Mathematics/OpenMath/experimental/setoid

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.

## en/Mathematics/OpenMath/experimental/permut1

QMath syntax Symbol type OpenMath CD OpenMath name Description
permutation APPLICATION permutation1 permutation This symbols is an n-ary 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.

## en/Mathematics/OpenMath/experimental/polysts

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

## en/Mathematics/OpenMath/experimental/polyslp

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 Monte-Carlo 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. (Monte-Carlo 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.

## en/Mathematics/OpenMath/experimental/linalg3

QMath syntax Symbol type OpenMath CD OpenMath name Description
col_matrix APPLICATION linalg3 matrix This symbol is an n-ary matrix constructor which requires matrixcolumn's as arguments. It is used to represent matrices.
matrix_column APPLICATION linalg3 matrixcolumn This symbol is an n-ary constructor used to represent columns of matrices. Its arguments should be members of a ring.
col_vector APPLICATION linalg3 vector This symbol represents an n-ary 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.

## en/Mathematics/OpenMath/experimental/list2

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

## en/Mathematics/OpenMath/experimental/polyd

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 (lt-reduced, 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 non-negative integers. coeff should be non-zero.
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").

## en/Mathematics/OpenMath/experimental/linalg5

QMath syntax Symbol type OpenMath CD OpenMath name Description
anti_Hermitian APPLICATION linalg5 anti-Hermitian This symbol represents an anti-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. 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 non-zero subdiagonal is the first element of the argument, whilst the highest non-zero super-diagonal is given by the last element of the argument. The argument determines the band of possibly non-zero 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 non-diagonal 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 lower-Hessenberg This symbol represents a lower-Hessenberg matrix, it takes one argument, the argument is a vector of vectors representing the non-zero elements. The first element of the argument specifies the value of the first super-diagonal, the subsequent elements specify the value of the diagonal and subsequent subdiagonals, all other elements are zero.
lower_triangular APPLICATION linalg5 lower-Triangular
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 skew-symmetric This symbol represents a skew-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 (j-i+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 (j-i+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 sub-diagonal, the diagonal and the super-diagonal in that order.
upper_Hessenberg APPLICATION linalg5 upper-Hessenberg This symbol represents an upper-Hessenberg matrix, it takes one argument, the argument is a vector of vectors representing the non-zero 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 super-diagonals, all other elements are zero.
upper_triangular APPLICATION linalg5 upper-triangular This symbol represents an upper-triangular 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.

## en/Mathematics/OpenMath/experimental/relation0

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.

## en/Mathematics/OpenMath/experimental/linalg4

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.

## en/Mathematics/OpenMath/experimental/arith2

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 n-ary multiplication function inheriting from the times in arith1, but with the extra property that here it must be commutative.

## en/Mathematics/OpenMath/experimental/poly

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 non-negative 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 n-ary 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 (non-negative) 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 square-free 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 square-free factorization. Its arguments should have the structure of the above "factored", where the polynomials should be square-free. Note that this is not necessarily a minimal square-free decomposition: some exponents can occur more than once. Again, this is a statement that we have a square-free factorisation, rather than a request to compute one.

## en/Mathematics/OpenMath/experimental/semigroup

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.

## en/Mathematics/OpenMath/experimental/opnode

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.

## en/Mathematics/OpenMath/experimental/combinat1

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)^(n-m)*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.

## en/Mathematics/OpenMath/experimental/group1

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 n-ary 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 p-subgroup of the argument (up to conjugacy).

## en/Mathematics/OpenMath/experimental/permgrp

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.

## en/Mathematics/OpenMath/experimental/polyr

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).

## en/Mathematics/OpenMath/quant1

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

## en/Mathematics/OpenMath/setname1

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

## en/Mathematics/OpenMath/piece1

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.

## en/Mathematics/OpenMath/s_data1

QMath syntax Symbol type OpenMath CD OpenMath name Description
mean APPLICATION s_data1 mean This symbol represents an n-ary function denoting the mean of its arguments. That is, their sum divided by their number.
median APPLICATION s_data1 median This symbol represents an n-ary 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 n-ary 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_1-c)^i + (x_2-c)^i + ... + (x_n-c)^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.

## en/Mathematics/OpenMath/alg1

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.

## en/Mathematics/OpenMath/linalg1

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

## en/Mathematics/OpenMath/list1

QMath syntax Symbol type OpenMath CD OpenMath name Description
list APPLICATION list1 list This symbol denotes the list construct which is an n-ary 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

## en/Mathematics/OMDoc

QMath syntax Symbol type OpenMath CD OpenMath name Description
Alt_Definition PARAGRAPH_TYPE alternative-def QMath text structure.
Alt_simple_definition PARAGRAPH_TYPE alternative-def@type=simple QMath text structure.
Alt_inductive_definition PARAGRAPH_TYPE alternative-def@type=inductive QMath text structure.
Alt_implicit_definition PARAGRAPH_TYPE alternative-def@type=implicit QMath text structure.
Alt_definition_obj PARAGRAPH_TYPE alternative-def@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 axiom-inclusion 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 theory-inclusion 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.

## en/Mathematics/ActiveMath

QMath syntax Symbol type OpenMath CD OpenMath name Description
depends_on METADATA extradata/depends-on/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/competence-level@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.