A intent processor should match a system-specifed list of known concept names. The list should include all the entries from the core list below.
Optionally intents may be defaulted based on the available content, so <mo>=</mo> may default to
<mo intent="equals">=</mo> or <msup><mi>x</mi><mn>2</mn></msup> may default to
<msup intent="power($x,$n)"><mi arg="x">x</mi><mn arg="n">2</mn></msup>
Defaulting rules and options to control them to be specifed elsewhere, and are likely to be system specific.
An intent term matches a row in the table if the concept name,
arity and property all match. Any intent literal that does not match is
not an error but is handled by the general rules for unknown concept
names (so treated as a literal). Note that unless the intent is
explicitly or implicitly (by expanding $argref) used as a function
head it will have arity 0.
The conditionals in the speech template should be constructed such that at least one row matches. If more than one speech template matches a system specific choice should be taken. The exact words in the speech templates are not normative so a system may have multiple possible wordings controlled by the context, or by system option settings such as “Verbosity”.
Additional language contributions are welcome.
Languages can be listed by extending the YAML file: languages.yml
Any concept that does not have a speech template in the specifed language will show the English text.
Localised texts can be added to the YAML file: core.yml
The following concepts do not require special speech templates
but do have default fixity properties other than function.
| Concept | Arity | Property | Speech Template (en) | Speech Template (fr) | Speech Template (de) | Speech Template (es) | Speech Template (vi) | Comments |
|---|---|---|---|---|---|---|---|---|
| functions and inverses | ||||||||
| closed-open-interval |
2 [$a1,$a2] |
function* | interval between $a1 (included) and $a2 | intervalle ouvert à droite entre $a1 et $a2 | ||||
| open-closed-interval |
2 [$a1,$a2] |
function* | interval between $a1 and $a2, included | intervalle ouvert à gauche... | ||||
| open-interval |
2 [$a1,$a2] |
function* | open interval between $a1 and $a2 | intervalle ouvert | ||||
| closed-interval |
2 [$a1,$a2] |
function* | closed interval between $a1 and $a2 | intervalle fermé entre $a1 et $a2 | ||||
| inverse |
1 [$a1] |
function** | inverse of $a1 | inverse can be used for function inverses, matrix inverses, etc.
|
||||
| inverse |
1 [$a1] |
postfix* | $a1 inverse | |||||
| domain |
1 [$a1] |
function* | domain of $a1 | domaine de définition de $a1 | ||||
| codomain |
1 [$a1] |
function* | codomain of $a1 | ensemble d'arrivée de $a1 | ||||
| image |
1 [$a1] |
function** | image of $a1 | image de $a1 | ||||
| fraction |
2 [$a1,$a2] |
function* | fraction $a1 over $a2 end fraction | |||||
| mixed-fraction |
2 [$a1,$a2] |
function* | $a1 and $a2 | $a1 is a positive integer and $a2 is a fraction with positive numerical components. The second argument can be an mfrac (normal or beveled) or can be a linear fraction using /
|
||||
| quotient |
2 [$a1,$a2] |
function* | integer part of $a1 divided by $a2 | quotient de $a1 par $a2 | ||||
| evaluated-at |
2 [$a1,$a2] |
infix* | $a1 evaluated-at $a2 | Two common notations are and | ||||
| remainder |
2 [$a1,$a2] |
function* | the remainder of $a1 divided by $a2 | reste de la divsion de $a1 par $a2 | ||||
| max |
⩾1 [$a1,...] |
function* | max of $a1, ... | |||||
| min |
⩾1 [$a1,...] |
function* | min of $a1, ... | |||||
| power | 2 [$a1,$a2] | infix* | [$a2=2]: $a1 squared | [$a2=2]: $a1 carré | [$a2=2]: | [$a2=2]: | [$a2=2]: | |
| [$a2=3]: $a1 cubed | [$a2=3]: $a1 cube | [$a2=3]: | [$a2=3]: | [$a2=3]: | ||||
| []: $a1 to the $a2th power | []: $a1 à la $a2 | []: | []: | []: | ||||
| root | 2 [$a1,$a2] | function* | [$a2=2]: square root of $a1 | [$a2=2]: | [$a2=2]: | [$a2=2]: | [$a2=2]: | |
| [$a2=3]: cube root of $a1 | [$a2=3]: | [$a2=3]: | [$a2=3]: | [$a2=3]: | ||||
| [$a2=4]: fourth root of $a1 | [$a2=4]: | [$a2=4]: | [$a2=4]: | [$a2=4]: | ||||
| []: $a2th root of $a1 | []: | []: | []: | []: | ||||
| greatest-common-divisor |
⩾2 [$a1,$a2,...] |
function* | greatest common divisor of $a1, $a2, ... | plus grand commun diviseur de $a1, $a2, ... | ||||
| least-common-multiple |
⩾2 [$a1,$a2,...] |
function* | lest common multiple of $a1, $a2, ... | plus grand commun diviseur de $a1, $a2, ... | ||||
| least-common-denominator |
⩾2 [$a1,$a2,...] |
function* | least common denominator of $a1, $a2, ... | |||||
| absolute-value |
1 [$a1] |
function* | absolute value of $a1 | valeur absolue de $a1 | Betrag von $a1 | |||
| complex-conjugate |
1 [$a1] |
function* | complex conjugate of $a1 | $a1 conjugé | ||||
| complex-arg |
1 [$a1] |
function* | arg of $a1 | |||||
| real-part |
1 [$a1] |
function* | real part of $a1 imaginary part of $a1 | |||||
| imaginary-part |
1 [$a1] |
function* | imaginary part of $a1 | |||||
| polar-coordinate |
2 [$a1,$a2] |
function* | polar coordinate $a1 comma $a2 | |||||
| spherical-coordinate |
3 [$a1,$a2,$a3] |
function* | spherical coordinate $a1 comma $a2, comma $a3 | |||||
| cartesian-coordinate |
⩾2 [$a1,$a2,...] |
function* | cartesian coordinate $a1 comma $a2 ... | |||||
| coordinate |
⩾2 [$a1,$a2,...] |
function* | coordinate $a1 comma $a2 ... | |||||
| floor |
1 [$a1] |
function* | floor of $a1 | |||||
| ceiling |
1 [$a1] |
function* | ceiling of $a1 | |||||
| round |
1 [$a1] |
function* | rounded-value of $a1 | This sometimes uses the notation or | ||||
| fractional-part |
1 [$a1] |
function* | fractional part of $a1 | |||||
| calculus | ||||||||
| definite-integral |
1 [$a1] |
???* | integral over $a1 | integral sign is not an argument | ||||
| definite-integral |
2 [$a1,$a2] |
???* | integral from $a1 to $a2 | integral sign is not an argument | ||||
| derivative |
3 [$a1,$a2,$a3] |
???* | (verbose) the $a3 derivative of $a1 with respect to $a2 (terse) d <$a3 if $a3 != 1> $a1 by d $a2 <$a3 if $a3 != 1> | the terse reading only makes sense for Leibniz notation such as or . It does not make sense for other notations such as
The first of these examples might be marked up as |
||||
| partial-derivative |
⩾3 [$a1,$a2,$a3,...] |
???* | partial <sum $a3+2i> $a1 partial $a2 <$a3 if $a3 != 1> [partial $a4 <$a5 if $a5 != 1> ...] | |
||||
| limit |
1 [$a1] |
prefix* | limit as $a1 | limit is not an argument, but intent should be on msub or munder
There are several arrows used for limits. Example: might be spoken as “limit as x tends to from below 0” and marked up as: Another notation that might be spoken similarly is |
||||
| tends-to |
2 [$a1,$a2] |
infix* | $a1 tends to $a2 | see “limit” example | ||||
| tends-to-from-above |
2 [$a1,$a2] |
infix* | $a1 tends to from above $a2 | see “limit” example | ||||
| tends-to-from-below |
2 [$a1,$a2] |
infix* | $a1 tends to from below $a2 | see “limit” example | ||||
| sets | ||||||||
| set |
1 [$a1] |
function* | set of $a1 | the argument to set is typically an mrow. For example:
|
||||
| set-difference |
2 [$a1,$a2] |
function* | set difference of $a1 and $a2 | This can be spoken in many ways. See other entry for infix speech.
There are several notations that are used and their order of appearance differs: , |
||||
| set-difference |
2 [$a1,$a2] |
infix* | "$a1 minus $a2" or "$a2 subtracted from $a1" | This can be spoken in many ways. See other entry for functional speech.
See functional form for some notational usages. |
||||
| complement |
1 [$a1] |
function* | complement of $a1 | This can be spoken in many ways. See other entry for functional speech.
Two notations used for complement are: , |
||||
| empty-set |
0 [] |
empty set | Three notations used for empty set are: { }, ∅, and ∅ | |||||
| cardinality |
1 [$a1] |
function* | often used with matchfix single vertical bars | |||||
| list |
⩾0 [$a1,...] |
* | list of $a1, ... | |||||
| tuple |
⩾0 [$a1,...] |
* | tuple of $a1, ... | |||||
| sequences and series | ||||||||
| sum |
1 [$a1] |
function* | sum of $a1 | usually on <mrow>
|
||||
| sum |
2 [$a1,$a2] |
function* | sum over $a1 of $a2 | usually on <munder> or <msub>
|
||||
| sum |
3 [$a1,$a2,$a3] |
function* | sum from $a1 to $a2 of $a3 | usually on <munderover> or <msubsup>
|
||||
| product |
1 [$a1] |
function* | product of $a1 | usually on <mrow>
|
||||
| product |
2 [$a1,$a2] |
function* | product over $a1 of $a2 | usually on <munder> or <msub>
|
||||
| product |
3 [$a1,$a2,$a3] |
function* | product from $a1 to $a2 of $a3 | usually on <munderover> or <msubsup>
|
||||
| elementary classical functions | ||||||||
| sine |
1 [$a1] |
function* | sine $a1 | sinus $a1 | used as ‘sin’, ‘sen’ | |||
| cosine |
1 [$a1] |
function* | (verbose) cosine $a1 (terse) cos $a1 | |||||
| tangent |
1 [$a1] |
function* | (verbose) tangent $a1 (terse) tan $a1 | used as ‘tan’, ‘tg’ | ||||
| secant |
1 [$a1] |
function* | (verbose) secant $a1 (terse) seech $a1 | used as ‘sec’ | ||||
| cosecant |
1 [$a1] |
function* | (verbose) cosecant $a1 (terse) co-seech $a1 | used as ‘csc’ | ||||
| cotangent |
1 [$a1] |
function* | (verbose) cotangent $a1 (terse) co-tan $a1 | used as ‘cot’ | ||||
| arcsine |
1 [$a1] |
function* | (verbose) arcsine $a1 | used as ‘arcsin’, ‘arc sin’
this is distinct from sin inverse () |
||||
| arccosine |
1 [$a1] |
function* | (verbose) arccosine $a1 | used as ‘arccos’, ‘arc cos’ | ||||
| arctangent |
1 [$a1] |
function* | (verbose) arctangent $a1 | used as ‘arctan’, ‘arc tan’ | ||||
| arcsecant |
1 [$a1] |
function* | (verbose) arcsecant $a1 | used as ‘arcsec’, ‘arc sec’ | ||||
| arccosecant |
1 [$a1] |
function* | (verbose) arc-cosecant $a1 | used as ‘arccos’, ‘arc cos’ | ||||
| arccotangent |
1 [$a1] |
function* | (verbose) arc-cotangent $a1 | used as ‘arccos’, ‘arc cos’ | ||||
| hyperbolic-sine |
1 [$a1] |
function* | short form 'shine $a1' | sinus hyperbolique $a1 | youtube
used as ‘sinh’ |
|||
| hyperbolic-cosine |
1 [$a1] |
function* | short form 'cosh $a1' | cosh $a1 kosh $a1 | youtube
used as ‘cosh’ |
|||
| hyperbolic-tangent |
1 [$a1] |
function* | short form American 'tanch $a1' short form British 'than $a1' | youtube
used as ‘tanh’ |
||||
| hyperbolic-secant |
1 [$a1] |
function* | short form American 'sech $a1' short form British 'shek $a1' | youtube
used as ‘sech’ |
||||
| hyperbolic-cosecant |
1 [$a1] |
function* | short form American 'cosech $a1' short form British 'coshek $a1' | youtube
used as ‘cosech’ |
||||
| hyperbolic-cotangent |
1 [$a1] |
function* | short form American 'coth $a1' short form British 'coath $a1' | youtube
used as ‘coth’ |
||||
| arc-hyperbolic-sine |
1 [$a1] |
function* | short form 'arc shine $a1' | sinus hyperbolique $a1 | used as ‘asinh’ | |||
| arc-hyperbolic-cosine |
1 [$a1] |
function* | short form 'arc cosh $a1' | cosh $a1 kosh $a1 | used as ‘acosh’ | |||
| arc-hyperbolic-tangent |
1 [$a1] |
function* | short form American 'arc tanch $a1' short form British 'arc than $a1' | used as ‘atanh’ | ||||
| arc-hyperbolic-secant |
1 [$a1] |
function* | short form American 'arc sech $a1' short form British 'arc shek $a1' | used as ‘asech’ | ||||
| arc-hyperbolic-cosecant |
1 [$a1] |
function* | short form American 'arc cosech $a1' short form British 'arc coshek $a1' | used as ‘acsch’ | ||||
| arc-hyperbolic-cotangent |
1 [$a1] |
function* | short form American 'arc coth $a1' short form British 'arc coath $a1' | used as ‘acoth’ | ||||
| exponential |
1 [$a1] |
function* | exponential of $a1 | |||||
| natural-logarithm |
1 [$a1] |
function* | natural log of $a1 log of $a1 | |||||
| logarithm |
1 [$a1] |
function* | log of $a1 | |||||
| logarithm |
2 [$a1,$a2] |
function* | log base $a2 of $a1 | |||||
| Statistics and Probability | ||||||||
| mean |
1 [$a1] |
function* | mean of $a1 | This might be display as | ||||
| standard-deviation |
1 [$a1] |
function* | standard deviation of $a1 | |||||
| variance |
1 [$a1] |
function* | variance of $a1 | |||||
| median |
1 [$a1] |
function* | median of $a1 | |||||
| mode |
1 [$a1] |
function* | mode of $a1 | |||||
| conditional-probability |
2 [$a1,$a2] |
function* | probability of $a1 given $a2 | The intent should be on the mrow that includes the “P”
|
||||
| Linear Algebra | ||||||||
| vector |
1 [$a1] |
function* | ||||||
| matrix |
1 [$a1] |
function* | when used with an mtable argument, it is a good idea to use the :matrix property on the mtable to insure it speaks correctly
|
|||||
| determinant |
1 [$a1] |
function* | when used with an mtable argument, it is a good idea to use the :matrix property on the mtable to insure it speaks correctly
|
|||||
| adjugate |
1 [$a1] |
function* | sometimes used when computing an inverse matrix | |||||
| magnitude |
1 [$a1] |
function* | often used with matchfix single or double vertical bars | |||||
| norm |
1 [$a1] |
function* | often used with matchfix double vertical bars | |||||
| span |
1 [$a1] |
function* | often used with matchfix angle brackets | |||||
| unit-vector |
1 [$a1] |
prefix* | unit vector x | Example: | ||||
| identity-matrix |
0 [] |
identity matrix | This is typically represented as ‘I’ or bold-faced ‘𝐈’ | |||||
| transpose |
1 [$a1] |
postfix* | $a1 transpose | $a1 transposée | ||||
| transpose |
1 [$a1] |
function | transpose of $a1 | transposée de $a1 | ||||
| dimensional-product |
⩾2 [$a1,$a2,...] |
infix | $a1 by $a2 ... | This is typically used with the × operator and can be placed on that character as a 0-arity concept name. A common use would be describe the size of a matrix. For example .
|
||||
| Constants and Sets | ||||||||
| set-of-integers |
0 [] |
(verbose) set of all integers (terse) Z | Z | |||||
| set-of-reals |
0 [] |
(verbose) set of all real numbers (terse) R | ||||||
| set-of-rationals |
0 [] |
(verbose) set of all rational numbers (terse) R | ||||||
| set-of-natural-numbers |
0 [] |
(verbose) set of all natural numbers (terse) N | ||||||
| set-of-complex-numbers |
0 [] |
(verbose) set of all complex numbers (terse) C | ||||||
| set-of-primes |
0 [] |
(verbose) set of all prime numbers (terse) P | ||||||
| exponential-e |
0 [] |
e | e | |||||
| imaginary-i |
0 [] |
i | i | |||||
| differential-d |
0 [] |
d | d | |||||
| golden-ratio |
0 [] |
golden ratio | d | Often denoted as φ | ||||
| Geometry | ||||||||
| line-segment |
2 [$a1,$a2] |
prefix* | line segment $a1 $a2 | Example: (mover):
|
||||
| directed-line-segment |
2 [$a1,$a2] |
prefix* | directed line segment $a1 $a2 | Example: (mover):
|
||||
| line |
2 [$a1,$a2] |
prefix* | line $a1 $a2 | Example: (mover):
|
||||
| ray |
2 [$a1,$a2] |
prefix* | ray $a1 $a2 | Example: (mover):
|
||||
| arc |
2 [$a1,$a2] |
prefix* | arc $a1 $a2 | Example: (mover):
|
||||
| length |
1 [$a1] |
function* | length of $a1 | It may be necessary to ‘nest’ the intent as shown here for the example:
The markup for this is: |
||||
| area |
1 [$a1] |
function* | area of $a1 | There are many notations. Here’s one:
The markup for this is: It may be necessary to ‘nest’ the intent as shown in the length intent
|
||||
| point |
⩾1 [$a1,...] |
???* | point $a1 [comma $a2 ...] | |||||
| volume |
1 [$a1] |
function* | volume of $a1 | See comments for length and volume for examples of how this might be marked up
|
||||
| Fill in the blank | ||||||||
| blank |
0 [] |
blank | blanks can be represented in many ways in MathML. Some examples:
<mi intent='blank'>__</mi>
<mi intent='blank'>?</mi>
<mo intent='blank'>□</mo>
<mspace intent='blank' width='3em'/>
<menclose intent='blank' notation='box'><mspace width='3em'/></menclose>
|
|||||
| Separators | ||||||||
| time-separator |
2 [$a1,$a2] |
infix* | $a1 $a2 | separates hours and minutes and is typically silent
Example: 2:31 |
||||
| General Concepts | ||||||||
| fenced-group |
1 [$a1] |
function* | fenced-group of $a1 | this includes parens, brackets, and braces | ||||
| ordered-pair |
2 [$a1,$a2] |
function* | the pair $a1 and $a2 | |||||
| indexed-by |
2 [$a1,$a2] |
infix* | $a1 indexed by $a2 | this is typically a subscript and might also be spoken as ‘$a1 sub $a2’ | ||||
| highlight |
1 [$a1] |
postfix* | $a1 highlighted | this typically would be used inside of a larger expression and not on its own
this might be used with <menclose notation='box'> or similar. It might also be used with color changes, although may be done with CSS
|
||||
| rate |
2 [$a1,$a2] |
infix* | $a1 per $a2 | Typically used with units
Used with mfrac or /
|
||||
| translation |
2 [$a1,$a2] |
function* | translation by $a1 comma $a2 | Example: | ||||
| constraint |
2 [$a1,$a2] |
infix* | fraction 2 over x minus 1 with constraint x not equal to 1 | Example: | ||||
| binomial-coefficient |
2 [$a1,$a2] |
infix* | $a1 choose $a2 | There are many notations used for the binomial coefficient. Here are some of them: , , | ||||
| pochhammer |
2 [$a1,$a2] |
function* | $a2 permutation of $a1 | There are many notations for this: some of them are
The first of these would be marked up as: |
||||
| permutation-cycle |
⩾2 [$a1,$a2,...] |
function* | permutation cycle of $a1 $a2 ... | A common notation for a permutation cycle is
This would be marked up as: |
||||
| embellished-name |
2 [$a1,$a2] |
infix* | $a1 with annotation $a2 | used with mover or munder
|
||||
| Grouping | ||||||||
| fenced-group |
1 [$a1] |
function* | fenced-group of $a1 | this includes parens, brackets, and braces | ||||
| annotation |
2 [$a1,$a2] |
function* | $a1 which is $a2 | used with mover or munder
Example: |
||||
| braced-group |
1 [$a1] |
function* | grouped $a1 end-grouped | used with mover or munder
Example: |
||||
| repeating-decimal |
1 [$a1] |
function* | repeating decimal $a1 | typically used in when there is a bar over the repeating part of a decimal or dots over the first and last digits.
Example: This right hand side of this might be might be marked up as: or using the elementary math elements in MathML full as |
||||
| Entry | Meaning |
|---|---|
* |
property default if no fixity: property given |
| th | suitable ordinal indicator, so st nd rd or th in English. |
| ⩾ n | Arity of at least n |