In MathML3, content markup is divided into two subsets "Strict"- and "Pragmatic" Content MathML. The first subset uses a minimal set of elements representing the meaning of a mathematical expression in a uniform structure, while the second one tries to strike a pragmatic balance between verbosity and formality. Both forms of content expressions are legitimate and have their role in representing mathematics. Strict Content MathML is canonical in a sense and simplifies the implementation of content MathML processors and the comparison of content expressions and Pragmatic Content MathML is much simpler and more intuitive for humans to understand, read, and write.
Strict Content MathML3 expressions can directly be given a formal semantics in terms of "OpenMath Objects" [OpenMath2004], and we interpret Pragmatic Content MathML3 expressions by specifying equivalent Strict variants, so that they inherit their semantics.
MathML content encoding is based on the concept of an expression tree built up from
basic expressions, i.e. Numbers, Symbols, and Identifiers
derived expressions, i.e. function applications and binding expressions, and
As a general rule, the terminal nodes in the tree represent basic mathematical objects such as numbers, variables, arithmetic operations and so on. The internal nodes in the tree generally represent some kind of function application or other mathematical construction that builds up a compound object. Function application provides the most important example; an internal node might represent the application of a function to several arguments, which are themselves represented by the terminal nodes underneath the internal node.
This section provides the basic XML Encoding of content MathML expression trees. General usage and the mechanism used to associate mathematical meaning with symbols are provided here. [mathml3cds] provides a complete listing of the specific Content MathML symbols defined by this specification along with full reference information including attributes, syntax, and examples. It also describes the intended semantics of those symbols and suggests default renderings. The rules for using presentation markup within content markup are explained in Section 5.4.2 Presentation Markup in Content Markup.
Strict Content MathML is designed to be and XML encoding of OpenMath Objects (see [OpenMath2004]), which constitute the semantics of strict content MathML expressions. The table below gives an element-by-element correspondence between the OpenMath XML encoding of OpenMath objects and strict content MathML.
strict Content MathML | OpenMath |
---|---|
cn |
OMI , OMF |
csymbol |
OMS |
ci |
OMV |
apply |
OMA |
bind |
OMBIND |
bvar |
OMBVAR |
condition |
OMC (proposed)
|
share |
OMR |
semantics |
OMATTR , OMATP |
annotation ,
annotation-xml |
OMFOREIGN |
error |
OME |
The cn
element is the MathML element used to represent numbers. The
supported types of numbers include integers, real numbers, double precision floating
point numbers, rational numbers and complex numbers. Where it makes sense, the base in
which the number is written can be specified. For most numeric values, the content of a
cn
element should be either PCDATA or other cn
elements.
The permissible attributes on the cn
are:
Name | Values | Default |
---|---|---|
type |
"integer" | "real" | "double" | "e-notation," | "rational" | "complex-cartesian" | "complex-polar" | real |
base |
number | 10 |
The attribute type
is used to specify the kind of number being represented.
The pre-defined values are given in the table above. Unless otherwise specified,
the default "real" is used.
The attribute base
is used to specify how the content is to be parsed.
The attribute value is a base 10 positive integer giving the value of base in
which the PCDATA is to be interpreted.
The base
attribute should only be used on elements with type
"integer" or "real". Its use on cn
elements of other type is deprecated.
The default value for base
is "10".
Each data type implies that the content be of a certain form, as detailed below.
An integer is represented by an optional sign followed by a string of
one or more "digits". How a "digit" is interpreted
depends on the base
attribute. If base
is present,
it specifies the base for the digit encoding, and it specifies it base 10.
Thus base
='16' specifies a hexadecimal encoding.
When base
> 10, letters are used in alphabetical order as digits.
For example,
<cn base="16">7FE0</cn> |
encodes the number written as 32736 in base ten.
When base
> 36, some integers cannot be represented using
numbers and letters alone and it is up to the application what additional
characters (if any) may be used for digits.
For example,
<cn base="1000">10F</cn> |
represents the number written in base 10 as 1,000,015. However, the number
written in base 10 as 1,000,037 cannot be represented using letters and
numbers alone when base
is 1000.
A real number is presented in radix notation. Radix notation consists of an
optional sign ("+" or "-") followed by a string of
digits possibly separated into an integer and a fractional part by a
"decimal point". Some examples are 0.3, 1, and -31.56.
If a different base
is specified, then the digits are interpreted
as being digits computed to that base (in the same was as described for
type "integer").
This type is used to mark up those double-precision floating point numbers that can be represented in the IEEE 754 standard. This includes a subset of the (mathematical) real numbers, negative zero, positive and negative real infinity and a set of "not a number" values.
The content of a cn
element may be
PCDATA (representing numeric values as described below),
a infinity
symbol (representing positive real infinity),
a minfinity
symbol (representing negative real infinity)
or a notanumber
element.
Editorial note: Miko | |
Stephen is postulating an mininfinity symbol here, but we do not have one yeta.
|
If the content is PCDATA, it is interpreted as a real number in scientific notation. The number then has one or two parts, a significand and possibly an exponent. The significand has the format of a base 10 real number, as described above. The exponent (if present) has the format of a base 10 integer as described above. If the exponent is not present, it is taken to have the value 0. The value of the number is then that of the significand times ten to the power of the exponent.
A special case of PCDATA content is recognized. If a number of the above form has a negative sign and all digits of the significand are zero, then it is taken to be a negative zero in the sense of the IEEE 754 standard.
This type is deprecated. It is recommended to use
double
or real
instead.
A real number may be presented in scientific notation using this type.
Such numbers have two parts (a significand and an exponent) separated by
a <sep/>
element. The first part is a real number,
while the second part is an integer exponent indicating a power of the base.
For example, 12.3<sep/>
5 represents 12.3 times
105. The default presentation of this example is 12.3e5.
A rational number is given as two integers giving the numerator
and denominator of a quotient. These should themselves be given as
nested cn
elements.
For backward compatibility, deprecated usage allows the two integers to
be given as PCDATA separated by <sep/>
.
If a base
is present in this deprecated use,
it specifies the base used for the digit encoding of both integers.
A complex cartesian number is given as two numbers giving the
real and imaginary parts. These should themselves be given
as nested cn
elements. As for rational numbers,
the deprecated use of <sep/>
is also allowed.
A complex polar number is given as two numbers giving the
magnitude and angle. These should themselves be given
as nested cn
elements. As for rational numbers,
the deprecated use of <sep/>
is also allowed.
This type was deprecated in MathML 2.0 and is now no longer supported.
The number constants
exponentiale
,
imaginaryi
,
true
,
false
,
notanumber
,
pi
,
eulergamma
, and
infinity
should be used instead.
The notion of constructing a general expression tree is essentially that of applying an operator to sub-objects. For example, the sum "x+y" can be thought of as an application of the addition operator to two arguments x and y. And the expression "cos(π)" as the application of the cosine function to the number π.
In Content MathML, elements are used for operators and functions to capture the
crucial semantic distinction between the function itself and the expression
resulting from applying that function to zero or more arguments. This is addressed
by making the functions self-contained objects with their own properties and
providing an explicit apply
construct corresponding to function
application. We will consider the apply
construct in the next section.
In a sum expression "x+y" above, x and y typically taken to be "variables", since they have properties, but no fixed value, whereas the addition function is a "constant" or "symbol" as it denotes a specific function, which is defined somewhere externally. (Note that "symbol" is used here in the abstract sense and has no connection with any presentation of the construct on screen or paper).
Strict Content MathML3 uses the ci
element (for "content
identifier") to construct a variable, or an identifier that is not a
symbol. Its PCDATA content is interpreted as a name that identifies
it. Two variables are considered equal, iff their names are in the respective
scope (see Section 4.2.6 Bindings and Bound Variables for a discussion). A type
attribute indicates the type of object the symbol represents. Typically,
ci
represents a real scalar, but no default is specified.
Name | values | default |
---|---|---|
type | string | unspecified |
Due to the nature of mathematics the meaning of the mathematical expressions must
be extensible. The key to extensibility is the ability of the user to define new
functions and other symbols to expand the terrain of mathematical discourse. The
csymbol
element is used represent a "symbol" in much the same
way that ci
is used to construct a variable. The difference is that
csymbol
should refer to some mathematically defined concept with an
external definition referenced via the content dictionary attributes, whereas
ci
is used for identifiers that are essentially "local" to the
MathML expression.
In MathML3, external definitions are grouped in Content Dictionaries (structured documents for the definition of mathematical concepts; see [OpenMath2004] and [mathml3cds]).
We need three bits of information to fully identify a symbol: a symbol
name, a Content Dictionary name, and (optionally) a
Content Dictionary base URI, which we encode in the textual content
(which is the symbol name) and two attributes of the csymbol
element:
cd
and cdbase
. The Content Dictionary is the location of the
declaration of the symbol, consisting of a name and, optionally, a unique prefix
called a cdbase which is used to disambiguate multiple Content
Dictionaries of the same name. There are multiple encodings for content
dictionaries, this referencing scheme does not distinguish between them. If a
symbol does not have an explicit cdbase
attribute, then it inherits its
cdbase
from the first ancestor in the XML tree with one, should such an
element exist. In this document we have tended to omit the cdbase
for
brevity.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
cd | URI | required |
Editorial note: MiKo | |
need to fix the default URI here |
Issue default_cd | wiki (member only) |
---|---|
Current CD default for csymbol |
|
We might make the |
|
Resolution | None recorded |
There are other properties of the symbol that are not explicit in these fields but whose values may be obtained by inspecting the Content Dictionary specified. These include the symbol definition, formal properties and examples and, optionally, a Role which is a restriction on where the symbol may appear in a MathML expression tree. The possible roles are described in Section 8.5 Symbol Roles.
<csymbol cdbase="http://www.example.com" cd="VectorCalculus">Christoffel</csymbol> |
For backwards compatibility with MathML2 and to facilitate the use of MathML
within a URI-based framework (such as RDF [rdf] or OWL [owl]), the csymbol
content together with the values of the
cd
and cdbase
attributes can be combined in the
definitionURL
attribute: we provide the following scheme for
constructing a canonical URI for an MathML Symbol, which can be given in the
definitionURL
attribute.
URI =
cdbase-value+ '/' +
cd-value+ '#' +
content
In the case of the Christoffel symbol above this would be the URL
http://www.example.com/VectorCalculus#Christoffel
For backwards compatibility with MathML2, we do not require that the
definitionURL
point to a content dictionary. But if the URL in this
attribute is of the form above, it will be interpreted as the canonical URL of a
MathML3 symbol. So the representation above would be equivalent to the one below:
<csymbol definitionURL="http://www.example.com/VectorCalculus">Christoffel</csymbol> |
Issue MathML_CDs_URI | wiki (member only) |
---|---|
What is the official URI for MathMLCDs | |
We still have to fix this. Maybe it should correspond to the final resting place for CDs. |
|
Resolution | None recorded |
Issue definitionURL_encoding | wiki (member only) ISSUE-17 (member only) |
---|---|
URI encoding of cdbase /cd /name triplet
|
|
The URI encoding of the triplet we propose here does not work (not yet for
MathMLCDs and not at all for OpenMath2 CDs). The URI reference proposed uses a bare
name pointer |
|
Resolution | None recorded |
Issue cdbase-default | wiki (member only) ISSUE-13 (member only) |
---|---|
cdbase default value | |
For the inheritance mechanism to be complete, it would make sense to define a
default cdbase attribute value, e.g. at the math element. We'd support
expressions ignorant of cdbase as they all are thus far. Something such as
|
|
Resolution | None recorded |
The most fundamental way of building a compound object in mathematics is by applying a function or an operator to some arguments. MathML supplies an infrastructure to represent this in expression trees, which we will present in this section.
An apply
element is used to build an expression tree that represents the
result of applying a function or operator to its arguments. The tree corresponds to
a complete mathematical expression. Roughly speaking, this means a piece of
mathematics that could be surrounded by parentheses or "logical
brackets" without changing its meaning.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
For example, (x + y) might be encoded as
<apply><csymbol cd="arith1">plus</csymbol><ci>x</ci><ci>y</ci></apply> |
The opening and closing tags of apply
specify exactly the scope of any
operator or function. The most typical way of using apply
is simple and
recursive. Symbolically, the content model can be described as:
<apply> op a b </apply>
where the operands a and b are MathML
expression trees themselves, and op is a MathML expression tree that
represents an operator or function. Note that apply
constructs can be
nested to arbitrary depth.
An apply
may in principle have any number of operands:
<apply> op a b [c...] </apply>
For example, (x + y + z) can be encoded as
<apply> <csymbol cd="arith1">plus</csymbol> <ci>x</ci> <ci>y</ci> <ci>z</ci> </apply> |
Mathematical expressions involving a mixture of operations result in nested
occurrences of apply
. For example, a x + b
would be encoded as
<apply><csymbol cd="arith1">plus</csymbol> <apply><csymbol cd="arith1">times</csymbol> <ci>a</ci> <ci>x</ci> </apply> <ci>b</ci> </apply> |
There is no need to introduce parentheses or to resort to operator precedence in
order to parse the expression correctly. The apply
tags provide the proper
grouping for the re-use of the expressions within other constructs. Any expression
enclosed by an apply
element is viewed as a single coherent object.
An expression such as (F+G)(x) might be a product, as in
<apply><csymbol cd="arith1">times</csymbol> <apply><csymbol cd="arith1">plus</csymbol> <ci>F</ci> <ci>G</ci> </apply> <ci>x</ci> </apply> |
or it might indicate the application of the function F + G to the argument x. This is indicated by constructing the sum
<apply><csymbol cd="arith1">plus</csymbol><ci>F</ci><ci>G</ci></apply> |
and applying it to the argument x as in
<apply> <apply><csymbol cd="arith1">plus</csymbol> <ci>F</ci> <ci>G</ci> </apply> <ci>x</ci> </apply> |
Both the function and the arguments may be simple identifiers or more complicated expressions.
The apply
element is conceptually necessary in order to distinguish
between a function or operator, and an instance of its use. The expression
constructed by applying a function to 0 or more arguments is always an element from
the codomain of the function. Proper usage depends on the operator that is being
applied. For example, the plus
operator may have zero or more arguments,
while the minus
operator requires one or two arguments to be properly
formed.
If the object being applied as a function is not already one of the elements
known to be a function (such as sin
or plus
) then it is treated as
if it were a function.
Some complex mathematical objects are constructed by the use of bound variables. For instance the integration variables in an integral expression is one.
Such expressions are represented as MathML expression trees using the
bind
element. Its first child is a MathML expression that represents a
binding operator (the integral operator in our example). This can be followed by a
non-empty list of bvar
elements for the bound variables, possibly
augmented by the qualifier element condition
(see Section 4.2.7 Qualifiers. The last child is the body of the binding,
it is another content MathML expression.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
The bvar
element is a special qualifier element that is used to denote
the bound variable of a binding expression, e.g. in sums, products, and quantifiers
or user defined functions.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
<bind> <csymbol cd="quant1">forall</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="relation1">eq</csymbol> <apply><csymbol cd="arith1">minus</csymbol><ci>x</ci><ci>x</ci></apply> <cn>0</cn> </apply> </bind> |
<bind> <csymbol cd="calculus1">int</csymbol> <bvar><ci xml:id="var-x">x</ci></bvar> <apply><csymbol cd="arith1">power</csymbol> <ci definitionURL="#var-x"><mi>x</mi></ci> <cn>7</cn> </apply> </bind> |
Editorial note: MiKo | |
We need to say something about alpha-conversion here for OpenMath compatibility. |
The integrals we have seen so far have all been indefinite, i.e. the range of the
bound variables range is unspecified. In many situations, we also want to specify
range of bound variables, e.g. in definitive integrals. MathML3 provides the optional
condition
element as a general restriction mechanism for binding expressions.
A condition
element contains a single child that represents a truth
condition. Compound conditions are indicated by applying operators such as
and
in the condition. Consider for instance the following representation of a
definite integral.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
<bind> <int/> <bvar><ci>x</ci></bvar> <condition> <apply><csymbol cd="sets">in</csymbol> <apply><csymbol cd="interval">interval</csymbol> <cn>0</cn> <csymbol cd="nums1">infinity</csymbol> </apply> </apply> </condition> <apply><csymbol cd="transc1">sin</csymbol><ci>x</ci></apply> </bind> |
Here the condition
element restricts the bound variables to range over the
non-negative integers. A number of common mathematical constructions involve such
restrictions, either implicit in conventional notation, such as a bound variable, or
thought of as part of the operator rather than an argument, as is the case with the
limits of a definite integral.
A typical use of the condition
qualifier is to define sets by rule, rather
than enumeration. The following markup, for instance, encodes the set {x |
x < 1}:
<bind><csymbol cd="sets1">set</csymbol> <bvar><ci>x</ci></bvar> <condition> <apply><csymbol cd="relations1">lt</csymbol><ci>x</ci><cn>1</cn></apply> </condition> <ci>x</ci> </bind> |
In the context of quantifier operators, this corresponds to the "such that" construct used in mathematical expressions. The next example encodes "for all x in N there exist prime numbers p, q such that p+q = 2x".
<bind><csymbol cd="quant1">forall</csymbol> <bvar><ci>x</ci></bvar> <condition> <apply><csymbol cd="sets">in</csymbol> <ci>x</ci> <csymbol cd="setname1">naturalnumbers</csymbol> </apply> </condition> <bind><csymbol cd="quant1">exists</csymbol> <bvar><ci>p</ci></bvar> <bvar><ci>q</ci></bvar> <condition> <apply><csymbol cd="logic1">and</csymbol> <apply><csymbol cd="sets">in</csymbol><ci>p</ci><primes/></apply> <apply><csymbol cd="sets">in</csymbol><ci>q</ci><primes/></apply> </apply> </condition> <apply><csymbol cd="relation1">eq</csymbol> <apply><csymbol cd="arith1">plus</csymbol><ci>p</ci><ci>q</ci></apply> <apply><csymbol cd="arith1">times</csymbol><cn>2</cn><ci>x</ci></apply> </apply> </bind> </bind> |
This use extends to multivariate domains by using extra bound variables and a domain corresponding to a cartesian product as in
<bind><csymbol cd="calculus1">int</csymbol> <bvar><ci>x</ci></bvar> <bvar><ci>y</ci></bvar> <condition> <apply><csymbol cd="logic1">and</csymbol> <apply><csymbol cd="relation1">leq</csymbol><cn>0</cn><ci>x</ci></apply> <apply><csymbol cd="relation1">leq</csymbol><ci>x</ci><cn>1</cn></apply> <apply><csymbol cd="relation1">leq</csymbol><cn>0</cn><ci>y</ci></apply> <apply><csymbol cd="relation1">leq</csymbol><ci>y</ci><cn>1</cn></apply> </apply> </condition> <apply> <csymbol cd="arith1">times</csymbol> <apply><csymbol cd="arith1">power</csymbol><ci>x</ci><cn>2</cn></apply> <apply><csymbol cd="arith1">power</csymbol><ci>y</ci><cn>3</cn></apply> </apply> </bind> |
To conserve space, MathML3 expression trees can make use of structure sharing
share
element
This element has an href
attribute whose value is the value of a URI
referencing an xml:id
attribute of a MathML expression tree. When building the
MathML expression tree, the share
element is replaced by a copy of the MathML
expression tree referenced by the href
attribute. Note that this copy is
structurally equal, but not identical to the element referenced. The
values of the share
will often be relative URI references, in which case they
are resolved using the base URI of the document containing the share element
.
Name | values | default |
---|---|---|
href | URI |
For instance, the mathematical object f(f(f(a,a),f(a,a)),f(a,a),f(a,a)) can be encoded as either one of the following representations (and some intermediate versions as well).
<math> <math> <apply> <apply> <ci>f</ci> <ci>f</ci> <apply> <apply xml:id="t1"> <ci>f</ci> <ci>f</ci> <apply> <apply xml:id="t11"> <ci>f</ci> <ci>f</ci> <ci>a</ci> <ci>a</ci> <ci>a</ci> <ci>a</ci> </apply> </apply> <apply> <share href="#t11"/> <ci>f</ci> <ci>a</ci> <ci>a</ci> </apply> </apply> </apply> <apply> <share href="#t1"/> <ci>f</ci> <apply> <ci>f</ci> <ci>a</ci> <ci>a</ci> </apply> <apply> <ci>f</ci> <ci>a</ci> <ci>a</ci> </apply> </apply> </apply> </math> </math>
We say that an element dominates all its children and all elements they dominate. An
share
element dominates its target, i.e. the element that carries the
xml:id
attribute pointed to by the href
attribute. For instance in the
representation above the apply
element with xml:id="t1"
and also the
second share
dominate the apply
element with xml:id="t11"
.
The occurrences of the share
element must obey the following global
acyclicity constraint: An element may not dominate itself. For instance the
following representation violates this constraint:
<apply xml:id="foo"> <csymbol cd="arith1">plus</csymbol> <cn>1</cn> <apply> <csymbol cd="arith1">plus</csymbol> <cn>1</cn> <share href="foo"/> </apply> </apply>
Here, the apply
element with xml:id="foo"
dominates its third child,
which dominates the share
element, which dominates its target: the element with
xml:id="foo"
. So by transitivity, this element dominates itself, and by the
acyclicity constraint, it is not an MathML expression tree. Even though it could be given
the interpretation of the continued fraction
this would correspond to an infinite tree of applications, which is not admitted by
Content MathML
Note that the acyclicity constraints is not restricted to such simple cases, as the following example shows:
<apply xml:id="bar"> <apply xml:id="baz"> <csymbol cd="arith1">plus</csymbol> <csymbol cd="arith1">plus</csymbol> <cn>1</cn> <cn>1</cn> <share href="baz"/> <share href="bar"/> </apply> </apply> |
Here, the apply
with xml:id="bar"
dominates its third child, the
share
with href="baz"
, which dominates its target apply
with xml:id="baz"
, which in turn dominates its third child, the share
with href="bar"
, this finally dominates its target, the original
apply
element with xml:id="bar"
. So this pair of representations
violates the acyclicity constraint.
Note that the share
element is a syntactic referencing mechanism:
an share
element stands for the exact element it points to. In particular,
referencing does not interact with binding in a semantically intuitive way, since it
allows for variable capture. Consider for instance
<bind xml:id="outer"> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply> <ci>f</ci> <bind xml:id="inner"> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <share xml:id="copy" href="#orig"/> </bind> <apply xml:id="orig"><ci>g</ci><ci>X</ci></apply> </apply> </bind> |
it represents the term which has two sub-terms of the form , one with xml:id="orig"
(the one explicitly represented) and one with xml:id="copy"
, represented by the
share
element. In the original, the variable x is bound by the
outer bind
element, and in the copy, the variable x is
bound by the inner bind
element. We say that the inner bind
has captured the variable X.
It is well-known that variable capture does not conserve semantics. For instance, we could use α-conversion to rename the inner occurrence of x into, say, y arriving at the (same) object Using references that capture variables in this way can easily lead to representation errors, and is not recommended.
semantics
Content elements can be adorned with additional information via the
semantics
element, see Section 5.3 Semantic Annotations beyond Alternate Representations for details. As
such, the semantics
element should be considered part of both presentation
MathML and content MathML. MathML3 considers a semantics
element (strict)
content MathML, if and only if its first child is (strict) content MathML. All MathML
processors should process the semantics
element, even if they only process
one of those subsets.
Editorial note: MiKo | |
Give an elaborated example from the types note here (or in the primer?), reference Section 8.4 Type Declarations |
A content error expression is made up of a symbol and a sequence of zero or more MathML expression trees. This object has no direct mathematical meaning. Errors occur as the result of some treatment on an expression tree and are thus of real interest only when some sort of communication is taking place. Errors may occur inside other objects and also inside other errors.
Name | values | default |
---|---|---|
cdbase | URI | inherited |
To encode an error caused by a division by zero, we would employ a
aritherror
Content Dictionary with a DivisionByZero
symbol
with role error
we would use the following expression tree:
<cerror> <csymbol cd="aritherror">DivisionByZero</csymbol> <apply><csymbol cd="arith1">divide</csymbol><ci>x</ci><cn>0</cn></apply> </cerror> |
Note that the error should cover the smallest erroneous subexpression so cerror
can be a subexpression of a bigger one, e.g.
<apply><csymbol cd="relation1">eq</csymbol> <cerror> <csymbol cd="aritherror">DivisionByZero</csymbol> <apply><csymbol cd="arith1">divide</csymbol><ci>x</ci><cn>0</cn></apply> </cerror> <cn>0</cn> </apply> |
If an application wishes to signal that the content MathML expressions it has received is invalid or is not well-formed then the offending data must be encoded as a string. For example:
<cerror> <csymbol cd="parser">invalid_XML</csymbol> <mtext> <<!--LESS-THAN SIGN-->apply><!--GREATER-THAN SIGN--><<!--LESS-THAN SIGN-->cos><!--GREATER-THAN SIGN--> <<!--LESS-THAN SIGN-->ci><!--GREATER-THAN SIGN-->v<<!--LESS-THAN SIGN-->/ci><!--GREATER-THAN SIGN--> <<!--LESS-THAN SIGN-->/apply><!--GREATER-THAN SIGN--> </mtext> </cerror> |
Note that the <
and >
characters have been escaped as
is usual in an XML document.
Strict MathML3 content markup differs from earlier versions of MathML in that it has been regularized and based on the content dictionary model introduced by OpenMath [OpenMath2004]. MathML3 also supports MathML2-like markup as a pragmatic representation that is easier to read and more intuitive for humans. "Content MathML" without qualification consists of both types of markup together.
In the following we will discuss the general aspects of pragmatic Content MathML3 and indicate the equivalent strict Content MathML3 expressions. Thus the "pragmatic content MathML" representations inherit the meaning from their strict counterparts. As pragmatic Content MathML is not as regular as strict Content MathML and the mapping from the former to the latter is not regular either, the particulars will be covered in Section 4.4 The MathML3 Content Dictionaries and Operators, where the Content MathML operators are introduced.
Editorial note: MiKo | |
This part of the specification is still under heavy development and should not be considered as final. In particular, the description of the pragmatic-vs-strict correspondence is still under-defined and should only be considered as an indication of the intended relation. We anticipate that we may have to give normative specification of the relation as a XSLT style sheet that converts pragmatic content MathML expressions to strict content MathML expressions. Such a style sheet is under development at "http://svn.openmath.org/OpenMath3/xsl/cmml2om.xsl (actually it transforms pragmatic content MathML to OpenMath, but this is equivalent, and can be transformed to strict content MathML via "http://svn.openmath.org/OpenMath3/xsl/om2mml.xsl. |
Pragmatic content MathML3 provides empty elements for the operators and functions
of the K-14 fragment of mathematics. For instance, the empty MathML element
<plus/>
is equivalent to the element
<csymbol cdbase="http://w3.org/Math/CD" cd="arith1">plus</csymbol> |
The set of elements is the same as the ones for MathML2 with few additions. In most cases, the names of the empty operator elements are the same as the symbol names defined in the MathML3 content dictionaries (see Section 4.4 The MathML3 Content Dictionaries and Operators for details). Note that the concepts of "MathML symbols" (defined in Section 4.2.4 Symbols and Identifiers) and "operator elements" are different. In particular not all symbols defined by the MathML3 Content Dictionaries have corresponding operator elements in pragmatic Content MathML.
Following MathML2, pragmatic Content MathML3 allows to specialize the meaning of
some elements via attributes, usually the type
attribute. Strict Content
MathML does not have this possibility, therefore these attributes are either passed to
the symbols as extra arguments in the apply
or bind
elements, or
MathML3 adds new symbols for the non-default case to the respective content
dictionaries. These will normally not have corresponding operator elements (see
above).
For instance the closure interval
element can be given by the
closure
attribute. Thus the pragmatic Content MathML3 expression
<apply><interval closure="open-closed"/><cn>0</cn><cn>1</cn></apply> |
is equivalent to the strict content MathML3 expression
<apply><csymbol cd="interval1">interval-oc</csymbol><cn>0</cn><cn>1</cn></apply> |
The exact relation strict symbols and operator elements is defined in the MathML3 content dictionaries (see Chapter 8 MathML3 Content Dictionaries) and recapitulated in Section 4.4 The MathML3 Content Dictionaries and Operators.
In MathML2, the definitionURL
attribute could be used to modify the
meaning of an element to allow essentially the same notation to be re-used for a
discussion taking place in a different mathematical domain. This use of the attribute
is deprecated in MathML3, in favor of using a
csymbol
with cdbase
and cd
attributes that combine to
the same definitionURL
attribute (see Section 4.2.4.2 Content Symbols).
apply
Pragmatic Content MathML3 allows to use the apply
element instead of the
bind
element to conserve backwards compatibility with MathML2. The mapping to
strict Content MathML applies two general principles here depending on the
operator. Where there is a binding operator in the content dictionaries, we use that
and only replace the apply
tag with a bind
tag. This is the case for
instance for the quantifiers: the pragmatic expression
<apply> <forall/> <bvar><ci>x</ci></bvar> <apply><geq/><ci>x</ci><ci>x</ci></apply> </apply> |
is equivalent to the strict expression.
<bind> <csymbol cd="logic1">forall</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="relation1">geq</csymbol><ci>x</ci><ci>x</ci></apply> </bind> |
This situation also obtains for the exists
and lambda
symbols.
Where binding operators are not available, we just convert the expression with the bound variable into a λ-expression. Usually we have to move any qualifiers into an argument. For instance for sums:
<apply> <sum/> <bvar><ci>i</ci></bvar> <lowlimit><cn>0</cn></lowlimit> <uplimit><cn>100</cn></uplimit> <apply><power/><ci>x</ci><ci>i</ci></apply> </apply> |
is equivalent to the strict expression.
<apply> <sum/> <apply> <csymbol cd="interval1">integer_interval</csymbol> <cn>0</cn> <cn>100</cn> </apply> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>i</ci></bvar> <apply><power/><ci>x</ci><ci>i</ci></apply> </bind> </apply> |
For information about which of the schemes applies to a particular symbol, see the respective instructions in Section 4.4 The MathML3 Content Dictionaries and Operators.
Pragmatic Content MathML3 provides an alternative representation for applications
of "constructor" symbols called "container
markup". Constructor symbols represent operators that construct mathematical
operators that construct a mathematical structure from a list of objects. This list
can be given by an explicit sequence of arguments or as an expression with a bound
variable. In pragmatic Content MathML3, we allow to write the argument list as
children to the element instead of having to append them as to the empty operator element
as children of an apply
element.
For instance for the set
constructor allow to write:
<set><ci>a</ci><ci>b</ci><ci>c</ci></set> |
This is conisdered equivalent to the following strict Content MathML3 expression.
<apply><csymbol cd="set1">set</csymbol><ci>a</ci><ci>b</ci><ci>c</ci></apply> |
But the set constructor can also take a list that is given as an expression with a
bound variable in pragmatic Content MathML. Consider for instance the collection of
all intervals from 0 to x. Here we do not have a systematic correspondence,
since a symbol can only have one role. For the constructor symbols this is the role
application
. Thus the pragmatic Content MathML expression
<set> <bvar><ci>x</ci></bvar> <interval><cn>0</cn><ci>x</ci></interval> </set> |
has to be modeled by a
<apply> <csymbol cd="set1">suchthat</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply> <csymbol cd="interval1">interval</csymbol> <cn>0</cn> <ci>x</ci> </apply> </bind> </apply> |
Note that even though we have not made use of this here, the bound variable can be
qualified by any of the strict qualifier element condition
or the pragmatic qualifier elements
(see Section 4.3.12 Upper and Lower Limits, Section 4.3.10 Domain of Application in Bindings and Section 4.3.11 degree).
Note that container markup is restricted to the MathML2 elements set
,
interval
, list
, matrix
, matrixrow
, and
vector
. For specifics of the strict-pragmatic correspondence see Section 4.4 The MathML3 Content Dictionaries and Operators
The lambda
element allows a kind of container markup for the
lambda
symbol from the fns1
content dictionary. e.g.
<lambda><bvar><ci>x</ci></bvar><ci>x</ci></lambda> |
but unlike the set
element, which corresponds to a symbol with role
application
, the role of the lambda
symbol is
binding
. Therefore the lambda
element has to have at least one
bvar
child followed by qualifiers (see below), followed by a content MathML
element. The strict Content MathML equivalent of the expression above is
<bind><csymbol cd="fns1">lambda</csymbol><bvar><ci>x</ci></bvar><ci>x</ci></bind> |
The piecewise>
, piece
, and otherwise
allow container
markup for the constructor symbols of the content
dictionary piece1
. Unlike the cases described above, these do
not allow their arguments to be represented as expressions with bound variables, so
the strict-pragmatic correspondence is very simple in this case. For instance the
pragmatic Content MathML representation of the absolute value function
<piecewise> <piece> <apply><minus/><ci>x</ci></apply> <apply><lt/><ci>x</ci><cn>0</cn></apply> </piece> <piece> <cn>0</cn> <apply><eq/><ci>x</ci><cn>0</cn></apply> </piece> <piece> <ci>x</ci> <apply><gt/><ci>x</ci><cn>0</cn></apply> </piece> </piecewise> |
has the strict equivalent
<apply> <csymbol cd="piece1">piecewise</csymbol> <apply> <csymbol cd="piece1">piece</csymbol> <apply><csymbol cd="arith1">minus</csymbol><ci>x</ci></apply> <apply><csymbol cd="arith1">lt</csymbol><ci>x</ci><cn>0</cn></apply> </apply> <apply> <csymbol cd="piece1">piece</csymbol> <cn>0</cn> <apply><csymbol cd="arith1">eq</csymbol><ci>x</ci><cn>0</cn></apply> </apply> <apply> <csymbol cd="piece1">piece</csymbol> <ci>x</ci> <apply><csymbol cd="arith1">gt</csymbol><ci>x</ci><cn>0</cn></apply> </apply> </apply> |
In Pragmatic Content MathML, the ci
and csymbol
elements can
contain a general presentation construct (see Section 3.1.6 Summary of Presentation Elements), which
is used for rendering (see Section 8.6 Rendering of Content Elements). For example,
<csymbol cd="ContDiffFuncs"> <msup><mi>C</mi><mn>2</mn></msup> </csymbol> |
encodes an atomic symbol that displays visually as C2 and that, for purposes of content, is treated as a single symbol representing the space of twice-differentiable continuous functions.
Issue csymbol_pmathml_strict | wiki (member only) |
---|---|
Strict equivalent for csymbol with pMathML content
|
|
What is the strict equivalent for the case of a |
|
Resolution | None recorded |
A ci
or csymbol
element with Presentation MathML content is
equivalent to a semantics
construction where the first child is a
ci
whose content is the symbol or identifier name and whose second child is
an annotation-xml
element with the MathML Presentation. For example the
Strict Content MathML equivalent to the example above would be
<semantics> <csymbol cd="ContDiffFuncs">C2</csymbol> <annotation-xml encoding="MathMLP"> <msup><mi>C</mi><mn>2</mn></msup> </annotation-xml> </semantics> |
In this situation, the name of the symbol name (which has to be a text string) can
be determined from the presentation MathML representation above by stripped off
elements. But this is not possible in general . Therefore pragmatic Content MathML
allows an additional name
attribute on csymbol
and ci
which allows to specify the name. It is highly advisable to supply name
attributes for symbols and identifiers that have presentation MathML content.
Alternatively, the definitionURL
attribute can be used to associate a
name with with a ci
element. See the discussion of bound variables (Section 4.2.6 Bindings and Bound Variables) for a discussion of an important instance of this. For example,
<ci name="c1"><msub><mi>c</mi><mn>1</mn></msub></ci> |
encodes an atomic symbol that displays visually as c1 which, for purposes of content, is treated as a atomic concept representing a real number.
Instances of the bound variables are normally recognized by comparing the XML
information sets of the relevant ci
elements after first carrying out XML
space normalization. Such identification can be made explicit by placing an
xml:id
on the ci
element in the bvar
element and
referring to it using the definitionURL
attribute on all other instances.
An example of this approach is
This xml:id
based approach is especially helpful when constructions
involving bound variables are nested.
It can be necessary to associate additional information with a bound variable one
or more instances of it. The information might be something like a detailed
mathematical type, an alternative presentation or encoding or a domain of application.
Such associations are accomplished in the standard way by replacing a ci
element (even inside the bvar
element) by a semantics
element
containing both it and the additional information. Recognition of and instance of the
bound variable is still based on the actual ci
elements and not the
semantics
elements or anything else they may contain. The xml:id
based approach outlined above may still be used.
The ci
element uses the type
attribute to specify the basic type
of object that it represents. While any CDATA string is a valid type, the
predefined types include "integer", "rational",
"real", "complex", "complex-polar",
"complex-cartesian", "constant", "function"
and more generally, any of the names of the MathML container elements (e.g.
vector
) or their type values. For a more advanced treatment of types, the
type
attribute is inappropriate. Advanced types require significant
structure of their own (for example, vector(complex)) and are probably best constructed
as mathematical objects and then associated with a MathML expression through use of the
semantics
element.
Editorial note: MiKo | |
Give the Strict equivalent here by techniques from the Types Note, but be careful what we eventually do with types. |
In pragmatic Content MathML the domainofapplication
element may be used in
an apply
element to mark up the domain over which a given function is being
applied. In contrast to its use as a
qualifier in the bind
element, the usage in the apply
element
only marks the argument position. For instance, the integral of a function f
over an arbitrary domain C can be represented as
<apply><int/> <domainofapplication><ci>C</ci></domainofapplication> <ci>f</ci> </apply> |
in Pragmatic Content MathML to mark the domain for the range argument of the definite integral. This expression is considered equivalent to
<apply><csymbol cd="calculus1">int</csymbol><ci>C</ci><ci>f</ci></apply> |
The domainofapplication
was intended to be an alternative to specification
of range of bound variables for condition
. Generally, a domain of application
D can be specified by a condition
element requesting that the bound
variable is a member of D. For instance, we consider the Pragmatic Content
MathML representation
<apply><int/> <bvar><ci>x</ci></bvar> <domainofapplication><ci type="set">D</ci></domainofapplication> <apply><ci type="function">f</ci><ci>x</ci></apply> </apply> |
as equivalent to the Strict Content MathML representation
<apply><csymbol cd="calculus1">int</csymbol> <bind><csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <condition> <apply><csymbol cd="set1">in</csymbol><ci>x</ci><ci type="set">D</ci></apply> </condition> <apply><ci type="function">f</ci><ci>x</ci></apply> </bind> </apply> |
The degree element is a qualifier used by some MathML container elements to
specify that, for example, a bound variable is repeated several times, i.e. for the
for the "degree" or "order" of an operation. There are a
number of basic mathematical constructs that come in families, such as derivatives and
moments. Rather than introduce special elements for each of these families, MathML
uses a single general construct, the degree
element for this concept of
"order".
<bind><diff/> <bvar><ci>x</ci><degree><cn>2</cn></degree></bvar> <apply><power/><ci>x</ci><cn>5</cn></apply> </bind> |
A variable that is to be bound is placed in this container. In a derivative, it
indicates which variable with respect to which a function is being differentiated.
When the bvar
element is used to qualify a derivative, the bvar
element may contain a child degree
element that specifies the order of the
derivative with respect to that variable.
<apply> <diff/> <bvar> <ci>x</ci> <degree><cn>2</cn></degree> </bvar> <apply><power/><ci>x</ci><cn>4</cn></apply> </apply> |
it is equivalent to
<bind> <apply><diff/><cn>2</cn></apply> <bvar><ci>x</ci></bvar> <apply><power/><ci>x</ci><cn>4</cn></apply> </bind> |
Editorial note: MiKo | |
specify a complete list of containers that allow degree elements,
so far I see diff , partialdiff , root ,
moment .
|
Note that the degree element is only allowed in the container representation. The strict representation
takes the degree as a regular argument as the second child of the apply
or
bind
element.
Editorial note: MiKo | |
Make sure that all MMLdefinition s of degree-carrying symbols get a
paragraph like the one for root .
|
The uplimit
and lowlimit
elements are pragmatic Content MathML
qualifiers that can be used to restrict the range of a bound variable to an interval,
e.g. in some integrals and sums. In strict content MathML, the
uplimit
/lowlimit
pairs can be expressed via the interval
symbol from the CD interval1
. For instance, we consider the
Pragmatic Content MathML representation
<apply><int/> <bvar><ci> x </ci></bvar> <lowlimit><ci>a</ci></lowlimit> <uplimit><ci>b</ci></uplimit> <apply><ci>f</ci><ci>x</ci></apply> </apply> |
as equivalent to the following strict representation
<apply> <csymbol cd="calculus1">defint</csymbol> <apply><interval/><ci>a</ci><ci>b</ci></apply> <bind> <lambda/> <bvar><ci>x</ci></bvar> <apply><ci>f</ci><ci>x</ci></apply> </bind> </apply> |
If the lowlimit
qualifier is missing, it is interpreted as negative infinity,
similarly, if uplimit
is then it is interpreted as positive infinity.
Pragmatic Content MathML allows to use a associative operators to be "lifted" to "big operators", for instance the n-ary minimum operator to the minimum operator over sets, as the minimum of squares in this expression:
<apply> <min/> <bvar><ci>x</ci></bvar> <condition> <apply><in/><ci>x</ci><interval><cn>-4</cn><cn>4</cn></interval></apply> </condition> <apply><power/><ci>x</ci><cn>2</cn></apply> </apply> |
While the relation between the nary and the set-based operators is deterministic,
i.e. the induced big operators are fully determined by them, the concepts are quite
different in nature (different notational conventions, different types, different
occurrence schemata). Therefore the MathML3 content dictionaries provide explicit
symbols for the "big operators", much like MathML2 did with sum
as the big operator for for the n-ary plus
symbol, and prod
for
times
. Concretely, these are
big_union
,
big_intersect
,
big_max
,
big_min
,
big_gcd
,
big_lcm
,
big_or
,
big_and
, and
big_xor
.
Editorial note: MiKo | |
actually, there are more,
e.g. cartesianproduct ; make a complete list
|
With these, we can express all pragmatic Content MathML expressions. For instance, the minimum above can be represented in strict Content MathML as
<apply> <csymbol cd="set1">suchthat</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>S</ci></bvar> <condition> <apply><csymbol cd="set1">in</csymbol><ci>S</ci><ci>F</ci></apply> </condition> <apply><csymbol cd="set1">setdiff</csymbol><ci>U</ci><ci>S</ci></apply> </bind> </apply> |
For the exact meaning of the new symbols, consult the content dictionaries.
declare
)
Editorial note: MiKo | |
This should maybe be moved into a general section about changes or deprecated elements. Also Stan thinks the text should be improved. |
MathML2 provided the declare
element that allowed to bind properties like
types to symbols and variables and to define abbreviations for structure sharing. This
element is deprecated in MathML3. Structure sharing can obtained via the share
element (see Section 4.2.8 Structure Sharing for details).
We will now give an overview over the MathML3 symbols: they are grouped into content dictionaries that broadly reflect the area of mathematics from which they come.
Editorial note: MiKo | |
The list is generated from the MathML3 Content Dictionaries at
http://svn.openmath.org/OpenMath3/cd/MathML/.
These are the result of merging material from the MathML2 and
OpenMath2 content dictionaries, they are under review. We have
already done some work on the arith1 CD to show how
the extracted material will look in the MathML3 specification. The
presentation of the other CDs will improve with the content dictionary
editorial process.
|
This CD defines symbols for common arithmetic functions.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml.
lcm
(<lcm/>
)
Description: This n-ary operator is used to construct an expression which represents the least common multiple of its arguments. If no argument is provided, the lcm is 1. If one argument is provided, the lcm is that argument. The least common multiple of x and 1 is x.
Example: If the following expression were evaluated at a=2, b=4, and c=6 it would yield 12.
<apply><lcm/><ci>a</ci><ci>b</ci><ci>c</ci></apply> |
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#lcm.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementlcm
in pragmatic Content MathML.
The lcm
symbol can be used as a binding operator in pragmatic Content
MathML. This role is taken over by the big_lcm
symbol in strict Content
MathML.
The pragmatic Content MathML expression
<apply> <lcm/> <bvar><ci>x</ci></bvar> <ci>x</ci> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_lcm</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <ci>x</ci> </bind> </apply>
big_lcm
Description: This n-ary operator is used to construct the least common multiple over a set of expressions.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#big_lcm.
gcd
(<gcd/>
)
Description: This is the n-ary operator used to construct an expression which represents the greatest common divisor of its arguments. If no argument is provided, the gcd is 0. If one argument is provided, the gcd is that argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#gcd.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementgcd
in pragmatic Content MathML.
The gcd
symbol can be used as a binding operator in pragmatic Content
MathML. This role is taken over by the big_gcd
symbol in strict Content
MathML.
The pragmatic Content MathML expression
<apply> <gcd/> <bvar><ci>x</ci></bvar> <ci>x</ci> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_gcd</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <ci>x</ci> </bind> </apply>
big_gcd
Description: This n-ary operator is used to construct the greatest common divisor over a set of expressions.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#big_gcd.
plus
(<plus/>
)
Description: The symbol representing an n-ary commutative function plus. If no operands are provided, the expression represents the additive identity. If one operand, a, is provided the expression evaluates to "a". If two or more operands are provided, the expression represents the (semi) group element corresponding to a left associative binary pairing of the operands. The meaning of mixed operand types not covered by the signatures shown here are left up to the target system.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#plus.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementplus
in pragmatic Content MathML.
As an n-ary operation the operands of plus
can also be generated by
allowing a function or expression vary over a domain of application though the
sum
element is normally used for that purpose.
unary_minus
(<unary_minus/>
)
Description: This symbol denotes unary minus, i.e. the additive inverse for an additive group. It constructs the additive inverse of that group element.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#unary_minus.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementunary_minus
in pragmatic Content MathML.
minus
(<minus/>
)
Description: The symbol representing a binary minus function, the subtraction operator for an additive group. This is equivalent to adding the additive inverse.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#minus.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementminus
in pragmatic Content MathML.
times
(<times/>
)
Description: The symbol representing an n-ary multiplication function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#times.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtimes
in pragmatic Content MathML.
divide
(<divide/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#divide.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdivide
in pragmatic Content MathML.
power
(<power/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#power.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementpower
in pragmatic Content MathML.
abs
(<abs/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#abs.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementabs
in pragmatic Content MathML.
root
(<root/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#root.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementroot
in pragmatic Content MathML.
The root
element is used to construct roots. The kind of root to be
taken is specified by a "degree" child, which should be given as the
second child of the apply
element enclosing the root
element. Thus, square roots correspond to the case where degree
contains
the value 2, cube roots correspond to 3, and so on.
Note that Pragmatic MathML3 supports a degree
element in the
container representation. If no degree
is present, a default value of 2
is used.
sum
(<sum/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#sum.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsum
in pragmatic Content MathML.
In pragmatic Content MathmL, the sum
operator may used as the first child
of an apply
element, which is qualified by providing a
domainofapplication
, an uplimit
, lowlimit
pair,
condition
element. The index for the summation is specified by a
bvar
element.
If no bound variables are specified then terms of the sum correspond to those
produced by evaluating the function that is provided at the points of the domain,
while if bound variables are present they are the index of summation and they take
on the values of points in the domain. In this case the terms of the sum correspond
to the values of the expression that is provided, evaluated at those points.
Depending on the structure of the domain, the domain of summation can be abbreviated
by using uplimit
and lowlimit
to specify upper and lower limits
for the sum.
A sum
in pragmatic Content MathML is turned into strict Content MathML
by supplying a lambda
binder for the expression to make it into a
function. The range of integration is converted to an interval.
The pragmatic Content MathML expression
<apply> <sum/> <bvar><ci>i</ci></bvar> <lowlimit><cn>0</cn></lowlimit> <uplimit><cn>100</cn></uplimit> <apply><power/><ci>x</ci><ci>i</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <sum/> <apply> <csymbol cd="interval1">integer_interval</csymbol> <cn>0</cn> <cn>100</cn> </apply> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>i</ci></bvar> <apply><power/><ci>x</ci><ci>i</ci></apply> </bind> </apply>
product
(<product/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/arith1.xhtml#product.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementproduct
in pragmatic Content MathML.
In pragmatic Content MathmL, the product
Operator may used as the first
child of an apply
element, which is qualified by providing a
domainofapplication
, an uplimit
, lowlimit
pair,
condition
element. The index is specified by a bvar
element.
If no bound variables are specified then terms of the product correspond to those
produced by evaluating the function that is provided at the points of the domain,
while if bound variables are present they are the index and they take on the values
of points in the domain. In this case the terms of the product correspond to the
values of the expression that is provided, evaluated at those points. Depending on
the structure of the domain, the domain of multiplication can be abbreviated by
using uplimit
and lowlimit
to specify upper and lower limits for
the product.
A product
in pragmatic Content MathML is turned into strict Content MathML
by supplying a lambda
binder for the expression to make it into a
function. The range of integration is converted to an interval.
The pragmatic Content MathML expression
<apply> <product/> <bvar><ci>i</ci></bvar> <apply><power/><ci>x</ci><ci>i</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <product/> <apply> <csymbol cd="interval1">integer_interval</csymbol> <cn>0</cn> <cn>100</cn> </apply> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>i</ci></bvar> <apply><power/><ci>x</ci><ci>i</ci></apply> </bind> </apply>
This CD is intended to be `compatible' with the corresponding elements in Content MathML. In this CD we give a set of functions concerning functions themselves. Functions can be constructed from expressions via a lambda expression. Also there are basic function functions like compose, etc.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml.
domain
(<domain/>
)
Description: This symbol denotes the domain of a given function, which is the set of values it is defined over.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#domain.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdomain
in pragmatic Content MathML.
range
(<codomain/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#range.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcodomain
in pragmatic Content MathML.
image
(<image/>
)
Description: This symbol denotes the image of a given function, which is the set of values the domain of the given function maps to.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#image.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementimage
in pragmatic Content MathML.
identity
(<ident/>
)
Description: The identity function, it takes one argument and returns the same value.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#identity.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementident
in pragmatic Content MathML.
left_inverse
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#left_inverse.
right_inverse
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#right_inverse.
inverse
(<inverse/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#inverse.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinverse
in pragmatic Content MathML.
left_compose
(<compose/>
)
Description: This symbol represents the function which forms the left-composition of its two (function) arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#left_compose.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcompose
in pragmatic Content MathML.
lambda
(<lambda>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/fns1.xhtml#lambda.
This constructor symbol allows container markup with with the element
lambda
in pragmatic Content MathML.
In pragmatic Content MathML, the condition
and
domainofapplication
elements can be used to restrict the defined function
to a specific domain.
Operations on Matrices (independent of the matrix representation).
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml.
vectorproduct
(<vectorproduct/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#vectorproduct.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementvectorproduct
in pragmatic Content MathML.
scalarproduct
(<scalarproduct/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#scalarproduct.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementscalarproduct
in pragmatic Content MathML.
outerproduct
(<outerproduct/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#outerproduct.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementouterproduct
in pragmatic Content MathML.
transpose
(<transpose/>
)
Description: This symbol represents a unary function that denotes the transpose of the given matrix or vector
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#transpose.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtranspose
in pragmatic Content MathML.
determinant
(<determinant/>
)
Description: This symbol denotes the unary function which returns the determinant of its argument, the argument should be a square matrix.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#determinant.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdeterminant
in pragmatic Content MathML.
vector_selector
(<selector/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#vector_selector.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementselector
in pragmatic Content MathML.
matrix_selector
(<matrix_selector/>
)
Description: 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).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg1.xhtml#matrix_selector.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmatrix_selector
in pragmatic Content MathML.
This CD holds the basic logic functions.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml.
equivalent
(<equivalent/>
)
Description: This symbol is used to show that two boolean expressions are logically equivalent, that is have the same boolean value for any inputs.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#equivalent.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementequivalent
in pragmatic Content MathML.
not
(<not/>
)
Description: This symbol represents the logical not function which takes one boolean argument, and returns the opposite boolean value.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#not.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnot
in pragmatic Content MathML.
and
(<and/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#and.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementand
in pragmatic Content MathML.
The and
operator element can be used as a binding operator in pragmatic
Content MathML. This role is taken over by the big_and
symbol in strict
Content MathML.
The pragmatic Content MathML expression
<apply> <and/> <bvar><ci>x</ci></bvar> <apply><eq/><ci>x</ci><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_and</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="relation1">eq</csymbol><ci>x</ci><ci>x</ci></apply> </bind> </apply>
big_and
Description: This n-ary operator is used to construct the conjunction over a set of forumlae.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#big_and.
xor
(<xor/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#xor.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementxor
in pragmatic Content MathML.
The xor
operator element can be used as a binding operator in pragmatic
Content MathML. This role is taken over by the big_xor
symbol in strict
Content MathML.
The pragmatic Content MathML expression
<apply> <xor/> <bvar><ci>x</ci></bvar> <apply><eq/><ci>x</ci><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_xor</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="relation1">eq</csymbol><ci>x</ci><ci>x</ci></apply> </bind> </apply>
big_xor
Description: This n-ary operator is used to construct the exclusive disjunction over a set of forumlae.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#big_xor.
or
(<or/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#or.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementor
in pragmatic Content MathML.
The or
operator element can be used as a binding operator in pragmatic
Content MathML. This role is taken over by the big_or
symbol in strict
Content MathML.
The pragmatic Content MathML expression
<apply> <or/> <bvar><ci>x</ci></bvar> <apply><eq/><ci>x</ci><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_or</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="relation1">eq</csymbol><ci>x</ci><ci>x</ci></apply> </bind> </apply>
big_or
Description: This n-ary operator is used to construct the disjunction over a set of forumlae.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#big_or.
implies
(<implies/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#implies.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementimplies
in pragmatic Content MathML.
true
(<true/>
)
Description: This symbol represents the boolean value true.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#true.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtrue
in pragmatic Content MathML.
false
(<false/>
)
Description: This symbol represents the boolean value false.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/logic1.xhtml#false.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementfalse
in pragmatic Content MathML.
This CD is intended to be `compatible' with the MathML view of constructors for numbers (integers to an arbitrary base, rationals) and symbols for some common numerical constants. This CD holds a set of symbols for creating numbers, including some defined constants (i.e. nullary constructors).
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml.
based_integer
(<based_integer/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#based_integer.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementbased_integer
in pragmatic Content MathML.
rational
(<rational/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#rational.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementrational
in pragmatic Content MathML.
infinity
(<infinity/>
)
Description: A symbol to represent the notion of infinity.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#infinity.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinfinity
in pragmatic Content MathML.
e
(<exponentiale/>
)
Description: This symbol represents the base of the natural logarithm, approximately 2.718. See Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#e.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementexponentiale
in pragmatic Content MathML.
i
(<imaginaryi/>
)
Description: This symbol represents the square root of -1.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#i.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementimaginaryi
in pragmatic Content MathML.
pi
(<pi/>
)
Description: A symbol to convey the notion of pi, approximately 3.142. The ratio of the circumference of a circle to its diameter.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#pi.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementpi
in pragmatic Content MathML.
gamma
(<eulergamma/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#gamma.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementeulergamma
in pragmatic Content MathML.
NaN
(<notanumber/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/nums1.xhtml#NaN.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotanumber
in pragmatic Content MathML.
This CD holds the common arithmetic relations. It is intended to be `compatible' with the appropriate MathML elements.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml.
eq
(<eq/>
)
Description: This symbol represents the binary equality function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#eq.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementeq
in pragmatic Content MathML.
lt
(<lt/>
)
Description: This symbol represents the binary less than function which returns true if the first argument is less than the second, it returns false otherwise.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#lt.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementlt
in pragmatic Content MathML.
gt
(<gt/>
)
Description: This symbol represents the binary greater than function which returns true if the first argument is greater than the second, it returns false otherwise.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#gt.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementgt
in pragmatic Content MathML.
neq
(<neq/>
)
Description: This symbol represents the binary inequality function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#neq.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementneq
in pragmatic Content MathML.
leq
(<leq/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#leq.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementleq
in pragmatic Content MathML.
geq
(<geq/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#geq.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementgeq
in pragmatic Content MathML.
approx
(<approx/>
)
Description: This symbol is used to denote the approximate equality of its two arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/relation1.xhtml#approx.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementapprox
in pragmatic Content MathML.
This CD defines the set functions and constructors for basic set theory. It is intended to be `compatible' with the corresponding elements in MathML.
The symbols introduced in this content dictionary have operator elements that take a
type
attribute indicates whehter the they pertain to a set or multilset
interpretation of the arguments. This attribute takes the values "normal"
and "multiset", where "normal" is the default value.
"multiset" indicates that repetitions are allowed. The symbols defined in
the set1
content dictionary correspond to the set interpretation.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml.
cartesian_product
(<cartesianproduct/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#cartesian_product.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcartesianproduct
in pragmatic Content MathML.
emptyset
(<emptyset/>
)
Description: This symbol is used to represent the empty set, that is the set which contains no members. It takes no parameters.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#emptyset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementemptyset
in pragmatic Content MathML.
map
(<map/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#map.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmap
in pragmatic Content MathML.
size
(<card/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#size.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcard
in pragmatic Content MathML.
suchthat
(<suchthat/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#suchthat.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsuchthat
in pragmatic Content MathML.
set
(<set>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#set.
This constructor symbol allows container markup with with the element
set
in pragmatic Content MathML.
intersect
(<intersect/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#intersect.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementintersect
in pragmatic Content MathML.
The intersect
operator element can be used as a binding operator in
pragmatic Content MathML. This role is taken over by the big_intersect
symbol in strict Content MathML.
The pragmatic Content MathML expression
<apply> <intersect/> <bvar><ci>x</ci></bvar> <apply><interval type="integer"/><cn>0</cn><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="set1">big_intersect</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="interval1">integer_interval</csymbol><cn>0</cn><ci>x</ci></apply> </bind> </apply>
big_intersect
Description: This n-ary operator is used to construct the intersection over a collection of sets.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#big_intersect.
union
(<union/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#union.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementunion
in pragmatic Content MathML.
The union
operator element can be used as a binding operator in
pragmatic Content MathML. This role is taken over by the big_union
symbol in strict Content MathML.
The pragmatic Content MathML expression
<apply> <union/> <bvar><ci>x</ci></bvar> <apply><interval type="integer"/><cn>0</cn><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="set1">big_union</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="interval1">integer_interval</csymbol><cn>0</cn><ci>x</ci></apply> </bind> </apply>
big_union
Description: This n-ary operator is used to construct the union over a collection of sets.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#big_union.
setdiff
(<setdiff/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#setdiff.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsetdiff
in pragmatic Content MathML.
subset
(<subset/>
)
Description: This symbol has two (set) arguments. It is used to denote that the first set is a subset of the second.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#subset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsubset
in pragmatic Content MathML.
in
(<in/>
)
Description: This symbol has two arguments, an element and a set. It is used to denote that the element is in the given set.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#in.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementin
in pragmatic Content MathML.
notin
(<notin/>
)
Description: This symbol has two arguments, an element and a set. It is used to denote that the element is not in the given set.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#notin.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotin
in pragmatic Content MathML.
prsubset
(<prsubset/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#prsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementprsubset
in pragmatic Content MathML.
notsubset
(<notsubset/>
)
Description: This symbol has two (set) arguments. It is used to denote that the first set is not a subset of the second.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#notsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotsubset
in pragmatic Content MathML.
notprsubset
(<notprsubset/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/set1.xhtml#notprsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotprsubset
in pragmatic Content MathML.
This CD contains symbols to represent functions which are concerned with vector calculus.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/veccalc1.xhtml.
divergence
(<divergence/>
)
Description: 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)
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/veccalc1.xhtml#divergence.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdivergence
in pragmatic Content MathML.
grad
(<grad/>
)
Description: 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))
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/veccalc1.xhtml#grad.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementgrad
in pragmatic Content MathML.
curl
(<curl/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/veccalc1.xhtml#curl.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcurl
in pragmatic Content MathML.
Laplacian
(<laplacian/>
)
Description: 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
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/veccalc1.xhtml#Laplacian.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementlaplacian
in pragmatic Content MathML.
This CD is intended to be compatible with the calculus operations in Content MathML. Integration is just for the univariate case and is either definite or indefinite.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml.
diff
(<diff/>
)
Description: This symbol is used to express ordinary differentiation of a unary function. The single argument is the unary function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml#diff.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdiff
in pragmatic Content MathML.
In pragmatic Content MathML the diff
operator can be applied to an
expression involving a single variable such as sin(x), or
cos(x). or a polynomial in x. For the expression case the
actual variable is designated by a bvar
element that is a child of the
containing apply
element. To translate this usage to strict Content MathML,
we add a lambda
construction.
The pragmatic Content MathML expression
<apply> <diff/> <bvar><ci>x</ci></bvar> <apply><sin/><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <diff/> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><sin/><ci>x</ci></apply> </bind> </apply>
The bvar
element may also contain a degree
element, which specifies
the order of the derivative to be taken. To achieve this effect in strict Content MathML,
we use the nthdiff
symbol.
The pragmatic Content MathML expression
<apply> <diff/> <bvar><degree><cn>2</cn></degree><ci>x</ci></bvar> <apply><sin/><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <nthdiff/> <cn>2</cn> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><sin/><ci>x</ci></apply> </bind> </apply>
nthdiff
Description: This symbol is used to express the nth-iterated ordinary differentiation of a unary function. The first argument is n, and the second the unary function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml#nthdiff.
partialdiff
(<partialdiff/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml#partialdiff.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementpartialdiff
in pragmatic Content MathML.
In pragmatic Content MathML, the partialdiff
operator can be applied to
an expression with bound variables given by bvar
elements, which are
children of the containing apply
element. The bvar
elements may
also contain degree
element, which specify the order of the partial
derivative to be taken in that variable. In strict Content MathML, the degrees are
given as a list in the first argument of the partialdiff
symbol.
The pragmatic Content MathML expression
<apply> <partialdiff/> <bvar> <ci>x</ci> <degree><ci>n</ci></degree> </bvar> <bvar> <ci>y</ci> <degree><ci>m</ci></degree> </bvar> <apply><sin/><apply><times/><ci>x</ci><ci>y</ci></apply></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <partialdiff/> <apply><csymbol cd="list1">list</csymbol><ci>n</ci><ci>m</ci></apply> <bind> <lambda/> <bvar><ci>x</ci></bvar> <bvar><ci>y</ci></bvar> <apply><sin/><apply><times/><ci>x</ci><ci>y</ci></apply></apply> </bind> </apply>
Where a total degree of differentiation must be specified, this is indicated by use of
a degree
element at the top level, i.e. without any associated bvar
, as
a child of the containing apply
element. Each degree
schema used with
partialdiff
is expected to contain a single child schema. For example,
<apply> <partialdiff/> <bvar> <degree><cn>2</cn></degree> <ci>x</ci> </bvar> <bvar><ci>y</ci></bvar> <bvar><ci>x</ci></bvar> <degree><cn>4</cn></degree> <ci type="function">f</ci> </apply> |
denotes the mixed partial derivative ( d4 / d2x dy dx ) f. In strict Content MathML, the overall degree cannot be given.
Editorial note: MiKo | |
what do do about this? |
int
(<int/>
)
Description: This symbol is used to represent indefinite integration of unary functions. The argument is the unary function.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml#int.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementint
in pragmatic Content MathML.
defint
(<defint/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/calculus1.xhtml#defint.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementdefint
in pragmatic Content MathML.
This CD holds a collection of basic integer functions. This CD is intended to be `compatible' with the corresponding elements in Content MathML.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/integer1.xhtml.
factorof
(<factorof/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/integer1.xhtml#factorof.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementfactorof
in pragmatic Content MathML.
factorial
(<factorial/>
)
Description: The symbol to represent a unary factorial function on non-negative integers.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/integer1.xhtml#factorial.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementfactorial
in pragmatic Content MathML.
quotient
(<quotient/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/integer1.xhtml#quotient.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementquotient
in pragmatic Content MathML.
remainder
(<rem/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/integer1.xhtml#remainder.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementrem
in pragmatic Content MathML.
This CD treats matrices and vectors in a row oriented fashion (using matrixrow's).
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/linalg2.xhtml.
vector
(<vector>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg2.xhtml#vector.
This constructor symbol allows container markup with with the element
vector
in pragmatic Content MathML.
matrixrow
(<matrixrow>
)
Description: This symbol is an n-ary constructor used to represent rows of matrices. Its arguments should be members of a ring.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg2.xhtml#matrixrow.
This constructor symbol allows container markup with with the element
matrixrow
in pragmatic Content MathML.
matrix
(<matrix>
)
Description: This symbol is an n-ary matrix constructor which requires matrixrow's as arguments. It is used to represent matrices.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg2.xhtml#matrix.
This constructor symbol allows container markup with with the element
matrix
in pragmatic Content MathML.
This content dictionary provides some keys for specifying the relations in semantics elements.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/mathmlkeys.xhtml.
equiv
Description: This key specifies that the corresponding value is equivalent to the annotated element in some unspecified way.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/mathmlkeys.xhtml#equiv.
contentequiv
Description: This key specifies that the corresponding value is the content MathML equivalent of the annotated element.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/mathmlkeys.xhtml#contentequiv.
contentequiv-strict
Description: This key specifies that the corresponding value is the equivalent in strict content MathML of the annotated element.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/mathmlkeys.xhtml#contentequiv-strict.
A CD of basic rounding concepts
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/rounding1.xhtml.
ceiling
(<ceiling/>
)
Description: The round up (to +infinity) operation.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/rounding1.xhtml#ceiling.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementceiling
in pragmatic Content MathML.
floor
(<floor/>
)
Description: The round down (to -infinity) operation.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/rounding1.xhtml#floor.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementfloor
in pragmatic Content MathML.
trunc
(<trunc/>
)
Description: The round to zero operation.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/rounding1.xhtml#trunc.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtrunc
in pragmatic Content MathML.
round
(<round/>
)
Description: The round to nearest operation.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/rounding1.xhtml#round.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementround
in pragmatic Content MathML.
This CD defines common sets of mathematics
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml.
P
(<primes/>
)
Description: This symbol represents the set of positive prime numbers.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#P.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementprimes
in pragmatic Content MathML.
N
(<naturalnumbers/>
)
Description: This symbol represents the set of natural numbers (including zero).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#N.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnaturalnumbers
in pragmatic Content MathML.
Z
(<integers/>
)
Description: This symbol represents the set of integers, positive, negative and zero.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#Z.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementintegers
in pragmatic Content MathML.
rationials
(<rationals/>
)
Description: This symbol represents the set of rational numbers.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#rationials.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementrationals
in pragmatic Content MathML.
R
(<reals/>
)
Description: This symbol represents the set of real numbers.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#R.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementreals
in pragmatic Content MathML.
complexes
(<complexes/>
)
Description: This symbol represents the set of complex numbers.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/setname1.xhtml#complexes.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcomplexes
in pragmatic Content MathML.
This CD is intended to be `compatible' with the MathML view of operations on and constructors for complex numbers.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml.
complex_cartesian
(<complex_cartesian/>
)
Description: 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.)
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#complex_cartesian.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcomplex_cartesian
in pragmatic Content MathML.
real
(<real/>
)
Description: This represents the real part of a complex number
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#real.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementreal
in pragmatic Content MathML.
imaginary
(<imaginary/>
)
Description: This represents the imaginary part of a complex number
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#imaginary.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementimaginary
in pragmatic Content MathML.
complex_polar
(<complex_polar/>
)
Description: 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).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#complex_polar.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcomplex_polar
in pragmatic Content MathML.
argument
(<arg/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#argument.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarg
in pragmatic Content MathML.
conjugate
(<conjugate/>
)
Description: A unary operator representing the complex conjugate of its argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/complex1.xhtml#conjugate.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementconjugate
in pragmatic Content MathML.
This CD holds symbols which describe both discrete and continuous 1-dimensional intervals (with open/closed end points).
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml.
integer_interval
(<integer_interval/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#integer_interval.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinteger_interval
in pragmatic Content MathML.
interval
(<interval>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#interval.
This constructor symbol allows container markup with with the element
interval
in pragmatic Content MathML.
In pragmatic Content MathML, the interval
element takes an attribute
closure
, which can take on any of the values "open",
"closed", "open-closed", or
"closed-open", with a default value of "closed".
In strict Content MathML, the interval
symbol is reserved for an
interval whose closure property is not specified. For with closure information, we
use the interval_oo
, interval_oo
,
interval_oo
, and interval_oo
symbols defined below.
The pragmatic Content MathML expression
<interval closure="open"/>
is equivalent to the strict Content MathML expression
<csymbol cd="interval1">interval_oo</csymbol>
Moreover, the interval
element can be used as a container element in pragmatic Content MathML.
interval_oo
(<interval closure="open"/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#interval_oo.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinterval
with attributes closure="open"
in pragmatic Content MathML.
interval_cc
(<interval closure="closed"/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#interval_cc.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinterval
with attributes closure="closed"
in pragmatic Content MathML.
interval_oc
(<interval closure="open-closed"/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#interval_oc.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinterval
with attributes closure="open-closed"
in pragmatic Content MathML.
interval_co
(<interval closure="closed-open"/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/interval1.xhtml#interval_co.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementinterval
with attributes closure="closed-open"
in pragmatic Content MathML.
This CD treats matrices and vectors in a column oriented fashion (using matrixcolumn's).
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/linalg3.xhtml.
vector
(<vector.column>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg3.xhtml#vector.
This constructor symbol allows container markup with with the element
vector.column
in pragmatic Content MathML.
matrixcolumn
(<matrixcolumn/>
)
Description: This symbol is an n-ary constructor used to represent columns of matrices. Its arguments should be members of a ring.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg3.xhtml#matrixcolumn.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmatrixcolumn
in pragmatic Content MathML.
matrix
(<matrix.column/>
)
Description: This symbol is an n-ary matrix constructor which requires matrixcolumn's as arguments. It is used to represent matrices.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/linalg3.xhtml#matrix.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmatrix.column
in pragmatic Content MathML.
This CD holds the definitions of min and max.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/minmax1.xhtml.
min
(<min/>
)
Description: This symbol denotes the unary minimum function which takes a set as its argument and returns the minimum element in that set.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/minmax1.xhtml#min.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmin
in pragmatic Content MathML.
The min
operator element can be used as a binding operator in pragmatic
Content MathML. This role is taken over by the big_min
symbol in strict
Content MathML.
The pragmatic Content MathML expression
<apply> <min/> <bvar><ci>x</ci></bvar> <apply><power/><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_min</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="arith1">power</csymbol><ci>x</ci></apply> </bind> </apply>
big_min
Description: This n-ary operator is used to construct the minimum over a set of objects.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/minmax1.xhtml#big_min.
max
(<max/>
)
Description: This symbol denotes the unary maximum function which takes a set as its argument and returns the maximum element in that set.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/minmax1.xhtml#max.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmax
in pragmatic Content MathML.
The max
operator element can be used as a binding operator in pragmatic
Content MathML. This role is taken over by the big_max
symbol in strict
Content MathML.
The pragmatic Content MathML expression
<apply> <max/> <bvar><ci>x</ci></bvar> <apply><power/><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_max</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="arith1">power</csymbol><ci>x</ci></apply> </bind> </apply>
big_max
Description: This n-ary operator is used to construct the maximum over a set of objects.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/minmax1.xhtml#big_max.
This CD is intended to be compatible with the corresponding elements in Content MathML 2. In this CD we give a set of operators for piece-wise defined expressions.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/piece1.xhtml.
piecewise
(<piecewise>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/piece1.xhtml#piecewise.
This constructor symbol allows container markup with with the element
piecewise
in pragmatic Content MathML.
piece
(<piece>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/piece1.xhtml#piece.
This constructor symbol allows container markup with with the element
piece
in pragmatic Content MathML.
otherwise
(<otherwise>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/piece1.xhtml#otherwise.
This constructor symbol allows container markup with with the element
otherwise
in pragmatic Content MathML.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/error1.xhtml.
unhandled_symbol
Description: This symbol represents the error which is raised when an application reads a symbol which is present in the mentioned content dictionary, but which it has not implemented. When receiving such a symbol, the application should act as if it had received the OpenMath error object constructed from unhandled_symbol and the unhandled symbol as in the example below.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/error1.xhtml#unhandled_symbol.
unexpected_symbol
Description: This symbol represents the error which is raised when an application reads a symbol which is not present in the mentioned content dictionary. When receiving such a symbol, the application should act as if it had received the OpenMath error object constructed from unexpected_symbol and the unexpected symbol as in the example below.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/error1.xhtml#unexpected_symbol.
unsupported_CD
Description: This symbol represents the error which is raised when an application reads a symbol where the mentioned content dictionary is not present. When receiving such a symbol, the application should act as if it had received the OpenMath error object constructed from unsupported_CD and the symbol from the unsupported Content Dictionary as in the example below.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/error1.xhtml#unsupported_CD.
This CD holds the basic notion of the limits of unary functions whilst its variable tend (either from above, below or both sides) to a particular value.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml.
limit
(<limit/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#limit.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementlimit
in pragmatic Content MathML.
both_sides
(<both_sides/>
)
Description: This symbol is used within a limit construct to show the limit is being approached from both sides. It takes no arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#both_sides.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementboth_sides
in pragmatic Content MathML.
above
(<above/>
)
Description: This symbol is used within a limit construct to show the limit is being approached from above. It takes no arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#above.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementabove
in pragmatic Content MathML.
below
(<below/>
)
Description: This symbol is used within a limit construct to show the limit is being approached from below. It takes no arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#below.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementbelow
in pragmatic Content MathML.
null
(<null/>
)
Description: This symbol is used within a limit construct to avoid specifying the method of approach to the limit. It takes no arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#null.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnull
in pragmatic Content MathML.
tendsto
(<tendsto/>
)
Description: This symbol is used within a limit construct to show the limit is being approached from below. It takes no arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/limit1.xhtml#tendsto.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtendsto
in pragmatic Content MathML.
This CD is intended to be `compatible' with MathML list constructs.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/list1.xhtml.
map
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/list1.xhtml#map.
suchthat
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/list1.xhtml#suchthat.
list
(<list>
)
Description: This symbol denotes the list construct which is an n-ary function. The list entries must be given explicitly.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/list1.xhtml#list.
This constructor symbol allows container markup with with the element
list
in pragmatic Content MathML.
This CD defines the set functions and constructors for basic multiset theory. It is intended to be `compatible' with the corresponding elements in MathML i.e. set operations acting on sets of type=multiset.
The symbols introduced in this content dictionary have operator elements in pragmatic
Content MathML that take a type
attribute indicates whehter the they pertain
to a set or multilset interpretation of the arguments. The symbols defined in the
multiset1
content dictionary correspond to the multiset interpretatio,
where repetitions of members are allowed. Therefore the value "multiset"
is prescribed on these elements.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml.
size
(<size type="multiset"/>
)
Description: This symbol is used to denote the number of elements in a multiset. It is either a non-negative integer, or an infinite cardinal number. The symbol infinity may be used for an unspecified infinite cardinal.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#size.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsize
with attributes type="multiset"
in pragmatic Content MathML.
cartesian_product
(<cartesianproduct type="multiset"/>
)
Description: This symbol represents an n-ary construction function for constructing the Cartesian product of multisets. It takes n multiset arguments in order to construct their Cartesian product.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#cartesian_product.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcartesianproduct
with attributes type="multiset"
in pragmatic Content MathML.
emptyset
(<emptyset type="multiset"/>
)
Description: This symbol is used to represent the empty multiset, that is the multiset which contains no members. It takes no parameters.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#emptyset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementemptyset
with attributes type="multiset"
in pragmatic Content MathML.
multiset
(<multiset type="multiset">
)
Description: This symbol represents the multiset construct. It is either an n-ary function, in which case the multiset entries are given explicitly, or it works on an elements construct. There is no implied ordering to the elements of a multiset.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#multiset.
This constructor symbol allows container markup with with the element
multiset
with attributes type="multiset"
in pragmatic Content MathML.
intersect
(<intersect type="multiset"/>
)
Description: This symbol is used to denote the n-ary intersection of multisets. It takes multisets as arguments, and denotes the multiset that contains all the elements that occur in all of them, with multiplicity the minimum of their multiplicities in all multisets.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#intersect.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementintersect
with attributes type="multiset"
in pragmatic Content MathML.
The intersect
operator element can be used as a binding operator in
pragmatic Content MathML. This role is taken over by the big_intersect
symbol in strict Content MathML.
The pragmatic Content MathML expression
<apply> <intersect/> <bvar><ci>x</ci></bvar> <apply><interval type="integer"/><cn>0</cn><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_intersect</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="interval1">integer_interval</csymbol><cn>0</cn><ci>x</ci></apply> </bind> </apply>
big_intersect
Description: This n-ary operator is used to construct the intersection over a collection of sets.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#big_intersect.
union
(<union type="multiset"/>
)
Description: This symbol is used to denote the n-ary union of multisets. It takes multisets as arguments, and denotes the multiset that contains all the elements that occur in any of them, with multiplicity the sum of all the multiplicities in the multiset arguments.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#union.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementunion
with attributes type="multiset"
in pragmatic Content MathML.
The union
operator element can be used as a binding operator in
pragmatic Content MathML. This role is taken over by the big_union
symbol in strict Content MathML.
The pragmatic Content MathML expression
<apply> <union/> <bvar><ci>x</ci></bvar> <apply><interval type="integer"/><cn>0</cn><ci>x</ci></apply> </apply>
is equivalent to the strict Content MathML expression
<apply> <csymbol cd="arith1">big_union</csymbol> <bind> <csymbol cd="fns1">lambda</csymbol> <bvar><ci>x</ci></bvar> <apply><csymbol cd="interval1">integer_interval</csymbol><cn>0</cn><ci>x</ci></apply> </bind> </apply>
big_union
Description: This n-ary operator is used to construct the union over a collection of multisets.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#big_union.
setdiff
(<setdiff type="multiset"/>
)
Description: This symbol is used to denote the multiset difference of two multisets. It takes two multisets as arguments, and denotes the multiset that contains all the elements that occur in the first multiset with strictly greater multiplicity than in the second. The multiplicity in the result is the difference of the two.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#setdiff.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsetdiff
with attributes type="multiset"
in pragmatic Content MathML.
subset
(<subset type="multiset"/>
)
Description: This symbol has two (multiset) arguments. It is used to denote that the first set is a subset of the second, i.e. every element of the first occurs with multiplicity at least as much in the second.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#subset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsubset
with attributes type="multiset"
in pragmatic Content MathML.
in
(<in type="multiset"/>
)
Description: This symbol has two arguments, an element and a multiset. It is used to denote that the element is in the given multiset.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#in.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementin
with attributes type="multiset"
in pragmatic Content MathML.
notin
(<notin type="multiset"/>
)
Description: This symbol has two arguments, an element and a multiset. It is used to denote that the element is not in the given multiset.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#notin.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotin
with attributes type="multiset"
in pragmatic Content MathML.
prsubset
(<prsubset type="multiset"/>
)
Description: This symbol has two (multiset) arguments. It is used to denote that the first multiset is a proper subset of the second, that is a subset of the second multiset but not actually equal to it.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#prsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementprsubset
with attributes type="multiset"
in pragmatic Content MathML.
notsubset
(<notsubset type="multiset"/>
)
Description: This symbol has two (multiset) arguments. It is used to denote that the first multiset is not a subset of the second.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#notsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotsubset
with attributes type="multiset"
in pragmatic Content MathML.
notprsubset
(<notprsubset type="multiset"/>
)
Description: This symbol has two (multiset) arguments. It is used to denote that the first multiset is not a proper subset of the second. A proper subset of a multiset is a subset of the multiset but not actually equal to it.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/multiset1.xhtml#notprsubset.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementnotprsubset
with attributes type="multiset"
in pragmatic Content MathML.
This CD holds the definitions of the basic universal ("for all") quantifier and existential ("there exists") quantifier. It is intended to be `compatible' with the MathML elements representing these quantifiers.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/quant1.xhtml.
forall
(<forall/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/quant1.xhtml#forall.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementforall
in pragmatic Content MathML.
exists
(<exists/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/quant1.xhtml#exists.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementexists
in pragmatic Content MathML.
This CD holds the definitions of the basic statistical functions used on random variables. It is intended to be `compatible' with the MathML elements representing statistical functions.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/s_dist1.xhtml.
mean
(<mean.dist/>
)
Description: 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).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_dist1.xhtml#mean.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmean.dist
in pragmatic Content MathML.
sdev
(<sdev.dist/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_dist1.xhtml#sdev.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsdev.dist
in pragmatic Content MathML.
variance
(<variance.dist/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_dist1.xhtml#variance.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementvariance.dist
in pragmatic Content MathML.
moment
(<moment.dist/>
)
Description: 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).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_dist1.xhtml#moment.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmoment.dist
in pragmatic Content MathML.
This CD holds the definitions of the basic statistical functions used on sample data. It is intended to be `compatible' with the MathML elements representing statistical functions, though it does not cover the concept of random variable which is mentioned in MathML.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml.
mean
(<mean/>
)
Description: This symbol represents an n-ary function denoting the mean of its arguments. That is, their sum divided by their number.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#mean.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmean
in pragmatic Content MathML.
sdev
(<sdev/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#sdev.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsdev
in pragmatic Content MathML.
variance
(<variance/>
)
Description: This symbol represents a function requiring two or more arguments, denoting the variance of its arguments. That is, the square of the standard deviation.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#variance.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementvariance
in pragmatic Content MathML.
mode
(<mode/>
)
Description: This symbol represents an n-ary function denoting the mode of its arguments. That is the value which occurs with the greatest frequency.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#mode.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmode
in pragmatic Content MathML.
median
(<median/>
)
Description: 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).
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#median.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmedian
in pragmatic Content MathML.
moment
(<moment/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/s_data1.xhtml#moment.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementmoment
in pragmatic Content MathML.
This CD holds the definitions of many transcendental functions. They are defined as in Abromowitz and Stegun (ninth printing on), with precise reductions to logs in the case of inverse functions. Note that, if signed zeros are supported, some strict inequalities have to become weak . It is intended to be `compatible' with the MathML elements denoting trancendental functions. Some additional functions are in the CD transc2.
For a full semantic description of the content dictionary see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml.
log
(<log/>
)
Description: 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
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#log.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementlog
in pragmatic Content MathML.
ln
(<ln/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#ln.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementln
in pragmatic Content MathML.
exp
(<exp/>
)
Description: This symbol represents the exponentiation function as described in Abramowitz and Stegun, section 4.2. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#exp.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementexp
in pragmatic Content MathML.
sin
(<sin/>
)
Description: This symbol represents the sin function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#sin.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsin
in pragmatic Content MathML.
cos
(<cos/>
)
Description: This symbol represents the cos function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#cos.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcos
in pragmatic Content MathML.
tan
(<tan/>
)
Description: This symbol represents the tan function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#tan.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtan
in pragmatic Content MathML.
sec
(<sec/>
)
Description: This symbol represents the sec function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#sec.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsec
in pragmatic Content MathML.
csc
(<csc/>
)
Description: This symbol represents the csc function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#csc.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcsc
in pragmatic Content MathML.
cot
(<cot/>
)
Description: This symbol represents the cot function as described in Abramowitz and Stegun, section 4.3. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#cot.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcot
in pragmatic Content MathML.
sinh
(<sinh/>
)
Description: This symbol represents the sinh function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#sinh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsinh
in pragmatic Content MathML.
cosh
(<cosh/>
)
Description: This symbol represents the cosh function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#cosh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcosh
in pragmatic Content MathML.
tanh
(<tanh/>
)
Description: This symbol represents the tanh function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#tanh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementtanh
in pragmatic Content MathML.
sech
(<sech/>
)
Description: This symbol represents the sech function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#sech.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementsech
in pragmatic Content MathML.
csch
(<csch/>
)
Description: This symbol represents the csch function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#csch.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcsch
in pragmatic Content MathML.
coth
(<coth/>
)
Description: This symbol represents the coth function as described in Abramowitz and Stegun, section 4.5. It takes one argument.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#coth.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementcoth
in pragmatic Content MathML.
arcsin
(<arcsin/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arcsin.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarcsin
in pragmatic Content MathML.
arccos
(<arccos/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccos.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccos
in pragmatic Content MathML.
arctan
(<arctan/>
)
Description: 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.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arctan.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarctan
in pragmatic Content MathML.
arcsec
(<arcsec/>
)
Description: This symbol represents the arcsec function as described in Abramowitz and Stegun, section 4.4.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arcsec.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarcsec
in pragmatic Content MathML.
arccsc
(<arccsc/>
)
Description: This symbol represents the arccsc function as described in Abramowitz and Stegun, section 4.4.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccsc.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccsc
in pragmatic Content MathML.
arccot
(<arccot/>
)
Description: This symbol represents the arccot function as described in Abramowitz and Stegun, section 4.4.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccot.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccot
in pragmatic Content MathML.
arcsinh
(<arcsinh/>
)
Description: This symbol represents the arcsinh function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arcsinh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarcsinh
in pragmatic Content MathML.
arccosh
(<arccosh/>
)
Description: This symbol represents the arccosh function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccosh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccosh
in pragmatic Content MathML.
arctanh
(<arctanh/>
)
Description: This symbol represents the arctanh function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arctanh.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarctanh
in pragmatic Content MathML.
arcsech
(<arcsech/>
)
Description: This symbol represents the arcsech function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arcsech.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarcsech
in pragmatic Content MathML.
arccsch
(<arccsch/>
)
Description: This symbol represents the arccsch function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccsch.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccsch
in pragmatic Content MathML.
arccoth
(<arccoth/>
)
Description: This symbol represents the arccoth function as described in Abramowitz and Stegun, section 4.6.
For a full semantic definition and more examples see http://svn.openmath.org/OpenMath3/cd/MathML/transc1.xhtml#arccoth.
Usage in pragmatic Content MathML: This symbol can be represented as the (empty) operator elementarccoth
in pragmatic Content MathML.