Working Draft 10-Jul-97

Operator Dictionary

The following table shows a proposed dictionary of rendering properties for operators and fences in MathML.

The operators are divided into groups, with the group indicated by the number in the first column, and separated by blank lines. The number is arbitrary and is not significant to MathML, though it could be used as a precedence value by precedence-based parsers, and is so used in at least one of the alternative input syntaxes for MathML which is under independent development. The grouping itself, however, is significant in MathML, since proper use of <MROW>'s should include several operators at the top level of a single <MROW> (rather than placing some of them in nested <MROW>'s) if and only if the operators are in the same group, as shown in this table.

The format of the table entries is: arbitrary group number; <mo> or <mf> element content between double quotes; attribute list in XML format, including form attribute and default rendering attributes.

For example, the first entry,

   -10    "("       form="open" stretchy="true"
could be expressed as an <MF> element by:
   <MF form="open" stretchy="true"> ( </MF>
(note the lack of double quotes around the content).

Where the element content as shown here contains "<", this character should be represented with "&lt;" in the actual <MF> or <MO> element.

The dictionary does not, and need not, specify whether each entry is usually encoded as an operator (<MO> element) or as a fence or separator (<MF> element), since the rendering attributes it specifies will be used as the defaults in either case. In typical usage of MathML, the entries which are usually encoded as are those in the first group (numbered "-10"), and separators such as "&InvisibleComma;", ",", and ";".

Note that the dictionary is indexed not just by the element content, but by the element content and form attribute value, together. Operators with more than one possible form have more than one entry. The proposal text describes how the renderer chooses which form to use. Having made that choice, or with the form explicitly specified in the MathML input, the renderer uses the remaining attributes from the dictionary entry for the appropriate single form of that operator, ignoring the entries for the other possible forms.

Warning: The operator dictionary given below is subject to further revision. In particular, the names of entities contained in it are not yet finalized (see Chapter 6). Also, this dictionary does not contain recommended values for the "lspace" and "rspace" attributes (see Chapter 3).


  -10  "("                                  form="open"  stretchy="true"
  -10  ")"                                  form="close" stretchy="true"
  -10  "["                                  form="open"  stretchy="true"
  -10  "]"                                  form="close" stretchy="true"
  -10  "{"                                  form="open"  stretchy="true"
  -10  "}"                                  form="close" stretchy="true"
  -10  "”"            form="close"
  -10  "’"                  form="close"
  -10  "⟨"                 form="open"
  -10  "&LeftBracketingBar;"                form="open"
  -10  "⌈"                      form="open"
  -10  "⟦"                form="open"
  -10  "&LeftDoubleBracketingBar;"          form="open"
  -10  "⌊"                        form="open"
  -10  "“"             form="open"
  -10  "‘"                   form="open"
  -10  "⟩"                form="close"
  -10  "&RightBracketingBar;"               form="close"
  -10  "⌉"                     form="close"
  -10  "⟧"               form="close"
  -10  "&RightDoubleBracketingBar;"         form="close"
  -10  "⌋"                       form="close"
  -10  "&LeftSkeleton;"                     form="open"
  -10  "&RightSkeleton;"                    form="close"

   -3  "⁣"                   form="separator"

   -2  ","                                  form="separator"

   -1  "-->"                                form="infix"

  170  ";"                                  form="separator"

  190  "^="                                 form="infix"
  190  "=."                                 form="postfix"
  190  ":="                                 form="infix"
  190  "^:="                                form="infix"
  190  "≔"                           form="infix"

  201  "∵"                          form="infix"
  201  "∴"                        form="infix"

  202  "❘"                form="infix"

  203  "//"                                 form="infix"

  205  "∷"                            form="infix"

  220  "&"                                  form="postfix"

  230  "*="                                 form="infix"
  230  "-="                                 form="infix"
  230  "+="                                 form="infix"
  230  "/="                                 form="infix"

  240  "//."                                form="infix"

  250  "->"                                 form="infix"
  250  ":>"                                 form="infix"
  250  "&Rule;"                             form="infix"
  250  "⧴"                      form="infix"

  260  "/;"                                 form="infix"

  270  ":"                                  form="infix"

  280  ".."                                 form="postfix"
  280  "..."                                form="postfix"

  290  "∋"                         form="infix"

  300  "⫤"                    form="infix"
  300  "⊨"                   form="infix"
  300  "⊤"                          form="infix"
  300  "⊣"                          form="infix"
  300  "⊢"                         form="infix"

  310  "⇒"                          form="infix"
  310  "⥰"                     form="infix"

  320  "|"                                  form="infix"
  320  "||"                                 form="infix"
  320  "⩔"                               form="infix"

  330  "&&"                                 form="infix"
  330  "⩓"                              form="infix"

  340  "!"                                  form="prefix"
  340  "⫬"                              form="prefix"

  350  "∃"                           form="prefix"
  350  "∀"                           form="prefix"
  350  "∄"                        form="prefix"

  360  "∈"                          form="infix"
  360  "∉"                       form="infix"
  360  "∌"                form="infix"
  360  "⊏̸"                  form="infix"
  360  "⋢"             form="infix"
  360  "⊐̸"                form="infix"
  360  "⋣"           form="infix"
  360  "⊂⃒"                        form="infix"
  360  "⊈"                   form="infix"
  360  "⊃⃒"                      form="infix"
  360  "⊉"                 form="infix"
  360  "∋"                   form="infix"
  360  "⊏"                     form="infix"
  360  "⊑"                form="infix"
  360  "⊐"                   form="infix"
  360  "⊒"              form="infix"
  360  "⋐"                           form="infix"
  360  "⊆"                      form="infix"
  360  "⊃"                         form="infix"
  360  "⊇"                    form="infix"

  380  "⇐"                  form="infix"
  380  "⇔"             form="infix"
  380  "⇒"                 form="infix"
  380  "⥐"              form="infix"
  380  "⥞"                form="infix"
  380  "↽"                   form="infix"
  380  "⥖"                form="infix"
  380  "⥟"               form="infix"
  380  "⇁"                  form="infix"
  380  "⥗"               form="infix"
  380  "←"                        form="infix"
  380  "⇤"                     form="infix"
  380  "⇆"              form="infix"
  380  "↔"                   form="infix"
  380  "⥎"                  form="infix"
  380  "↤"                     form="infix"
  380  "⥚"                    form="infix"
  380  "↼"                       form="infix"
  380  "⥒"                    form="infix"
  380  "↙"                   form="infix"
  380  "↘"                  form="infix"
  380  "→"                       form="infix"
  380  "⇥"                    form="infix"
  380  "⇄"              form="infix"
  380  "↦"                    form="infix"
  380  "⥛"                   form="infix"
  380  "⇀"                      form="infix"
  380  "⥓"                   form="infix"
  380  "←"                   form="infix"
  380  "→"                  form="infix"
  380  "↖"                   form="infix"
  380  "↗"                  form="infix"

  390  "="                                  form="infix"
  390  "<"                                  form="infix"
  390  ">"                                  form="infix"
  390  "!="                                 form="infix"
  390  "=="                                 form="infix"
  390  "<="                                 form="infix"
  390  ">="                                 form="infix"
  390  "=!="                                form="infix"
  390  "==="                                form="infix"
  390  "≡"                        form="infix"
  390  "≍"                           form="infix"
  390  "≐"                         form="infix"
  390  "∥"                form="infix"
  390  "⩵"                            form="infix"
  390  "≂"                       form="infix"
  390  "⇌"                      form="infix"
  390  "≥"                     form="infix"
  390  "⋛"                 form="infix"
  390  "≧"                 form="infix"
  390  "⪢"                   form="infix"
  390  "≷"                      form="infix"
  390  "⩾"                form="infix"
  390  "≳"                     form="infix"
  390  "≎"                     form="infix"
  390  "≏"                        form="infix"
  390  "⊲"                     form="infix"
  390  "⧏"                  form="infix"
  390  "⊴"                form="infix"
  390  "&LessEqual;"                        form="infix"
  390  "⋚"                 form="infix"
  390  "≦"                    form="infix"
  390  "≶"                      form="infix"
  390  "⪡"                         form="infix"
  390  "⩽"                   form="infix"
  390  "≲"                        form="infix"
  390  "≫"             form="infix"
  390  "≪"                   form="infix"
  390  "≢"                     form="infix"
  390  "≭"                        form="infix"
  390  "∦"             form="infix"
  390  "≠"                         form="infix"
  390  "≂̸"                    form="infix"
  390  "≯"                       form="infix"
  390  "≱"                  form="infix"
  390  "≧̸"              form="infix"
  390  "≫̸"                form="infix"
  390  "≹"                   form="infix"
  390  "⩾̸"             form="infix"
  390  "≵"                  form="infix"
  390  "≎̸"                  form="infix"
  390  "≏̸"                     form="infix"
  390  "⋪"                  form="infix"
  390  "⧏̸"               form="infix"
  390  "⋬"             form="infix"
  390  "≮"                          form="infix"
  390  "≰"                     form="infix"
  390  "&NotLessFullEqual;"                 form="infix"
  390  "≸"                   form="infix"
  390  "≪̸"                      form="infix"
  390  "⩽̸"                form="infix"
  390  "≴"                     form="infix"
  390  "⪢̸"          form="infix"
  390  "⪡̸"                form="infix"
  390  "⊀"                      form="infix"
  390  "⪯̸"                 form="infix"
  390  "⋠"            form="infix"
  390  "&NotPrecedesTilde;"                 form="infix"
  390  "⋫"                 form="infix"
  390  "⧐̸"              form="infix"
  390  "⋭"            form="infix"
  390  "⊁"                      form="infix"
  390  "⪰̸"                 form="infix"
  390  "⋡"            form="infix"
  390  "≿̸"                 form="infix"
  390  "≁"                         form="infix"
  390  "≄"                    form="infix"
  390  "≇"                form="infix"
  390  "≉"                    form="infix"
  390  "∤"                   form="infix"
  390  "≺"                         form="infix"
  390  "⪯"                    form="infix"
  390  "≼"               form="infix"
  390  "≾"                    form="infix"
  390  "∷"                       form="infix"
  390  "∝"                     form="infix"
  390  "⇋"               form="infix"
  390  "⊳"                    form="infix"
  390  "⧐"                 form="infix"
  390  "⊵"               form="infix"
  390  "≻"                         form="infix"
  390  "⪰"                    form="infix"
  390  "≽"               form="infix"
  390  "≿"                    form="infix"
  390  "∼"                            form="infix"
  390  "≃"                       form="infix"
  390  "≅"                   form="infix"
  390  "≈"                       form="infix"
  390  "⊥"                            form="infix"
  390  "∣"                      form="infix"

  410  "⊔"                      form="infix"
  410  "⋃"                            form="infix"
  410  "⊎"                        form="infix"

  430  "-"                                  form="infix"
  430  "+"                                  form="infix"
  430  "⋂"                     form="infix"
  430  "∓"                        form="infix"
  430  "±"                        form="infix"
  430  "⊓"               form="infix"

  440  "⋁"                              form="prefix" largeop="true" moveablelimits="true"
  440  "⊖"                      form="prefix" largeop="true" moveablelimits="true"
  440  "⊕"                       form="prefix" largeop="true" moveablelimits="true"
  440  "∑"                              form="prefix" largeop="true" moveablelimits="true"
  440  "⋃"                            form="prefix" largeop="true" moveablelimits="true"
  440  "⊎"                        form="prefix" largeop="true" moveablelimits="true"

  450  "⊖"                      form="infix"
  450  "⊕"                       form="infix"

  455  "∲"         form="prefix" largeop="true"
  455  "∮"                  form="prefix" largeop="true"
  455  "∳"  form="prefix" largeop="true"
  455  "∯"            form="prefix" largeop="true"
  455  "∫"                         form="prefix" largeop="true"

  460  "⋓"                              form="infix"

  470  "⋒"                              form="infix"

  490  "≀"                    form="infix"

  500  "⋀"                            form="prefix" largeop="true" moveablelimits="true"
  500  "⊗"                      form="prefix" largeop="true" moveablelimits="true"
  500  "∐"                        form="infix"
  500  "∏"                          form="prefix" largeop="true" moveablelimits="true"
  500  "⋂"                     form="prefix" largeop="true" moveablelimits="true"

  510  "⋆"                             form="infix"

  520  "*"                                  form="infix"
  520  "⁢"                   form="infix"
  520  "⊙"                        form="prefix" largeop="true" moveablelimits="true"

  530  "·"                        form="infix"

  540  "⊗"                      form="infix"

  550  "⋁"                              form="infix"

  560  "⋀"                            form="infix"

  570  "⋄"                          form="infix"

  580  "∖"                        form="infix"

  590  "/"                                  form="infix"

  600  "-"                                  form="prefix"
  600  "+"                                  form="prefix"
  600  "∓"                        form="prefix"
  600  "±"                        form="prefix"

  601  "."                                  form="infix"

  603  "⨯"                            form="infix"

  604  "**"                                 form="infix"

  605  "⊙"                        form="infix"

  607  "∘"                      form="infix"

  610  "□"                           form="prefix"

  620  "∇"                              form="prefix"
  620  "∂"                         form="prefix"

  630  "ⅅ"             form="prefix"
  630  "ⅆ"                    form="prefix"

  640  "√"                             form="prefix"

  650  "⇓"                  form="infix"
  650  "⟸"              form="infix"
  650  "⟺"         form="infix"
  650  "⟹"             form="infix"
  650  "⇑"                    form="infix"
  650  "⇕"                form="infix"
  650  "↓"                        form="infix"
  650  "⤓"                     form="infix"
  650  "⇵"                 form="infix"
  650  "↧"                     form="infix"
  650  "⥡"                form="infix"
  650  "⇃"                   form="infix"
  650  "⥙"                form="infix"
  650  "⥑"                 form="infix"
  650  "⥠"                  form="infix"
  650  "↿"                     form="infix"
  650  "⥘"                  form="infix"
  650  "⟵"                    form="infix"
  650  "⟷"               form="infix"
  650  "⟶"                   form="infix"
  650  "⥯"             form="infix"
  650  "⥝"               form="infix"
  650  "⇂"                  form="infix"
  650  "⥕"               form="infix"
  650  "⥏"                form="infix"
  650  "⥜"                 form="infix"
  650  "↾"                    form="infix"
  650  "⥔"                 form="infix"
  650  "↓"                   form="infix"
  650  "↑"                     form="infix"
  650  "↑"                          form="infix"
  650  "⤒"                       form="infix"
  650  "⇅"                 form="infix"
  650  "↕"                      form="infix"
  650  "⥮"                    form="infix"
  650  "↥"                       form="infix"

  660  "^"                                  form="infix"

  680  "<>"                                 form="infix"

  690  "'"                                  form="postfix"

  700  "!"                                  form="postfix"
  700  "!!"                                 form="postfix"

  710  "@@"                                 form="infix"
  710  "/@"                                 form="infix"
  710  "//@"                                form="infix"

  720  "~"                                  form="infix"

  730  "@"                                  form="infix"

  740  "--"                                 form="postfix"
  740  "--"                                 form="prefix"
  740  "++"                                 form="postfix"
  740  "++"                                 form="prefix"

  750  "⁡"                    form="infix"

  760  "?"                                  form="infix"

  780  "_"                                  form="infix"