Operator Precedences for the WP

This is the list of operators and their properties distributed with the Mathematica version of the WP parser, sorted in order of increasing precedence. See my previous letter for the format and meaning of this list.


{-10, declare[Operator, "(", {grouping -> openfunction, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, ")", {grouping -> close, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, "[", {grouping -> openfunction, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, "]", {grouping -> close, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, "\\{", {grouping -> open, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, "\\}", {grouping -> close, prec -> -10, stretchy -> true}]}
{-10, declare[Operator, "\[CloseCurlyDoubleQuote]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[CloseCurlyQuote]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[LeftAngleBracket]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[LeftBracketingBar]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[LeftCeiling]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[LeftDoubleBracket]", {grouping -> openfunction, prec -> -10}]}
{-10, declare[Operator, "\[LeftDoubleBracketingBar]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[LeftFloor]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[OpenCurlyDoubleQuote]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[OpenCurlyQuote]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[RightAngleBracket]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[RightBracketingBar]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[RightCeiling]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[RightDoubleBracket]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[RightDoubleBracketingBar]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[RightFloor]", {grouping -> close, prec -> -10}]}
{-10, declare[Operator, "\[LeftSkeleton]", {grouping -> open, prec -> -10}]}
{-10, declare[Operator, "\[RightSkeleton]", {grouping -> close, prec -> -10}]}

{-7, declare[Operator, "\\;", {grouping -> infix, prec -> -7}]}

{-5, declare[Operator, "\\,", {grouping -> infix, prec -> -5}]}

{-3, declare[Operator, "\[InvisibleComma]", {grouping -> infix, prec -> -3}]}

{-1, declare[Operator, ",", {grouping -> infix, prec -> -1}]}

{170, declare[Operator, ";", {grouping -> infix, prec -> 170}]}
{170, declare[Operator, ";", {grouping -> postfix, prec -> 170}]}

{190, declare[Operator, "^=", {grouping -> right, prec -> 190}]}
{190, declare[Operator, "=.", {grouping -> postfix, prec -> 190}]}
{190, declare[Operator, ":=", {grouping -> right, prec -> 190}]}
{190, declare[Operator, "^:=", {grouping -> right, prec -> 190}]}
{190, declare[Operator, "&assign;", {grouping -> right, prec -> 190}]}

{201, declare[Operator, "\[Because]", {grouping -> left, prec -> 201}]}
{201, declare[Operator, "\[Therefore]", {grouping -> right, prec -> 201}]}

{202, declare[Operator, "\[VerticalSeparator]", {grouping -> right, prec -> 202}]}

{203, declare[Operator, "//", {grouping -> left, prec -> 203}]}

{205, declare[Operator, "\[Colon]", {grouping -> infix, prec -> 205}]}

{220, declare[Operator, "&", {grouping -> postfix, prec -> 220}]}

{230, declare[Operator, "*=", {grouping -> right, prec -> 230}]}
{230, declare[Operator, "-=", {grouping -> right, prec -> 230}]}
{230, declare[Operator, "+=", {grouping -> right, prec -> 230}]}
{230, declare[Operator, "/=", {grouping -> right, prec -> 230}]}

{240, declare[Operator, "//.", {grouping -> left, prec -> 240}]}

{250, declare[Operator, "->", {grouping -> right, prec -> 250}]}
{250, declare[Operator, ":>", {grouping -> right, prec -> 250}]}
{250, declare[Operator, "\[Rule]", {grouping -> right, prec -> 250}]}
{250, declare[Operator, "\[RuleDelayed]", {grouping -> right, prec -> 250}]}

{260, declare[Operator, "/;", {grouping -> left, prec -> 260}]}

{270, declare[Operator, ":", {grouping -> right, prec -> 270}]}

{280, declare[Operator, "..", {grouping -> postfix, prec -> 280}]}
{280, declare[Operator, "...", {grouping -> postfix, prec -> 280}]}

{290, declare[Operator, "\[SuchThat]", {grouping -> right, prec -> 290}]}

{300, declare[Operator, "\[DoubleLeftTee]", {grouping -> infix, prec -> 300}]}
{300, declare[Operator, "\[DoubleRightTee]", {grouping -> infix, prec -> 300}]}
{300, declare[Operator, "\[DownTee]", {grouping -> infix, prec -> 300}]}
{300, declare[Operator, "\[LeftTee]", {grouping -> infix, prec -> 300}]}
{300, declare[Operator, "\[RightTee]", {grouping -> infix, prec -> 300}]}

{310, declare[Operator, "\[Implies]", {grouping -> infix, prec -> 310}]}
{310, declare[Operator, "\[RoundImplies]", {grouping -> infix, prec -> 310}]}

{320, declare[Operator, "|", {grouping -> infix, prec -> 320}]}
{320, declare[Operator, "||", {grouping -> infix, prec -> 320}]}
{320, declare[Operator, "\[Or]", {grouping -> infix, prec -> 320}]}

{330, declare[Operator, "&&", {grouping -> infix, prec -> 330}]}
{330, declare[Operator, "\[And]", {grouping -> infix, prec -> 330}]}

{340, declare[Operator, "!", {grouping -> prefix, prec -> 340}]}
{340, declare[Operator, "\[Not]", {grouping -> prefix, prec -> 340}]}

{350, declare[Operator, "\[Exists]", {grouping -> prefix, prec -> 350}]}
{350, declare[Operator, "\[ForAll]", {grouping -> prefix, prec -> 350}]}
{350, declare[Operator, "\[NotExists]", {grouping -> prefix, prec -> 350}]}

{360, declare[Operator, "\[Element]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotElement]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotReverseElement]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSquareSubset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSquareSubsetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSquareSuperset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSquareSupersetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSubset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSubsetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSuperset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[NotSupersetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[ReverseElement]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SquareSubset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SquareSubsetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SquareSuperset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SquareSupersetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[Subset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SubsetEqual]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[Superset]", {grouping -> infix, prec -> 360}]}
{360, declare[Operator, "\[SupersetEqual]", {grouping -> infix, prec -> 360}]}

{380, declare[Operator, "\[DoubleLeftArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DoubleLeftRightArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DoubleRightArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownLeftRightVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownLeftTeeVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownLeftVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownLeftVectorBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownRightTeeVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownRightVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[DownRightVectorBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftArrowBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftArrowRightArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftRightArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftRightVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftTeeArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftTeeVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LeftVectorBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LowerLeftArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[LowerRightArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightArrow]", {grouping -> right, prec -> 380}]}
{380, declare[Operator, "\[RightArrowBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightArrowLeftArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightTeeArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightTeeVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightVector]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[RightVectorBar]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[ShortLeftArrow]", {grouping -> right, prec -> 380}]}
{380, declare[Operator, "\[ShortRightArrow]", {grouping -> right, prec -> 380}]}
{380, declare[Operator, "\[UpperLeftArrow]", {grouping -> infix, prec -> 380}]}
{380, declare[Operator, "\[UpperRightArrow]", {grouping -> infix, prec -> 380}]}

{390, declare[Operator, "=", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "<", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, ">", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "!=", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "==", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "<=", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, ">=", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "=!=", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "===", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Congruent]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[CupCap]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[DotEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[DoubleVerticalBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Equal]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[EqualTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Equilibrium]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterEqualLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[GreaterTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[HumpDownHump]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[HumpEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LeftTriangle]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LeftTriangleBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LeftTriangleEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessEqualGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[LessTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NestedGreaterGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NestedLessLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotCongruent]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotCupCap]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotDoubleVerticalBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotEqualTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotGreaterTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotHumpDownHump]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotHumpEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLeftTriangle]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLeftTriangleBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLeftTriangleEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotLessTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotNestedGreaterGreater]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotNestedLessLess]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotPrecedes]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotPrecedesEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotPrecedesSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotPrecedesTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotRightTriangle]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotRightTriangleBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotRightTriangleEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotSucceeds]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotSucceedsEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotSucceedsSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotSucceedsTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotTildeEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotTildeFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotTildeTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[NotVerticalBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Precedes]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[PrecedesEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[PrecedesSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[PrecedesTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Proportion]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Proportional]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[ReverseEquilibrium]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[RightTriangle]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[RightTriangleBar]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[RightTriangleEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Succeeds]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[SucceedsEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[SucceedsSlantEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[SucceedsTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[Tilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[TildeEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[TildeFullEqual]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[TildeTilde]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[UpTee]", {grouping -> infix, prec -> 390}]}
{390, declare[Operator, "\[VerticalBar]", {grouping -> infix, prec -> 390}]}

{410, declare[Operator, "\[SquareUnion]", {grouping -> infix, prec -> 410}]}
{410, declare[Operator, "\[Union]", {grouping -> infix, prec -> 410}]}
{410, declare[Operator, "\[UnionPlus]", {grouping -> infix, prec -> 410}]}

{430, declare[Operator, "-", {grouping -> infix, prec -> 430}]}
{430, declare[Operator, "+", {grouping -> infix, prec -> 430}]}
{430, declare[Operator, "\[Intersection]", {grouping -> infix, prec -> 430}]}
{430, declare[Operator, "\[MinusPlus]", {grouping -> left, prec -> 430}]}
{430, declare[Operator, "\[PlusMinus]", {grouping -> left, prec -> 430}]}
{430, declare[Operator, "\[SquareIntersection]", {grouping -> infix, prec -> 430}]}

{440, declare[Operator, "\[Vee]", {grouping -> prefix, prec -> 440, largeop -> true}]}
{440, declare[Operator, "\[CircleMinus]", {grouping -> prefix, prec -> 440, largeop -> true}]}
{440, declare[Operator, "\[CirclePlus]", {grouping -> prefix, prec -> 440, largeop -> true}]}
{440, declare[Operator, "\[Sum]", {grouping -> prefix, prec -> 440, largeop -> true}]}
{440, declare[Operator, "\[Union]", {grouping -> prefix, prec -> 440, largeop -> true}]}
{440, declare[Operator, "\[UnionPlus]", {grouping -> prefix, prec -> 440, largeop -> true}]}

{450, declare[Operator, "\[CircleMinus]", {grouping -> left, prec -> 450}]}
{450, declare[Operator, "\[CirclePlus]", {grouping -> infix, prec -> 450}]}

{455, declare[Operator, "\[ClockwiseContourIntegral]", {grouping -> prefix, prec -> 455, largeop -> true}]}
{455, declare[Operator, "\[ContourIntegral]", {grouping -> prefix, prec -> 455, largeop -> true}]}
{455, declare[Operator, "\[CounterClockwiseContourIntegral]", {grouping -> prefix, prec -> 455, largeop -> true}]}
{455, declare[Operator, "\[DoubleContourIntegral]", {grouping -> prefix, prec -> 455, largeop -> true}]}
{455, declare[Operator, "\[Integral]", {grouping -> prefix, prec -> 455, largeop -> true}]}

{460, declare[Operator, "\[Cup]", {grouping -> infix, prec -> 460}]}

{470, declare[Operator, "\[Cap]", {grouping -> infix, prec -> 470}]}

{490, declare[Operator, "\[VerticalTilde]", {grouping -> infix, prec -> 490}]}

{500, declare[Operator, "\[Wedge]", {grouping -> prefix, prec -> 500, largeop -> true}]}
{500, declare[Operator, "\[CircleTimes]", {grouping -> prefix, prec -> 500, largeop -> true}]}
{500, declare[Operator, "\[Coproduct]", {grouping -> infix, prec -> 500}]}
{500, declare[Operator, "\[Product]", {grouping -> prefix, prec -> 500, largeop -> true}]}
{500, declare[Operator, "\[Intersection]", {grouping -> prefix, prec -> 500, largeop -> true}]}

{510, declare[Operator, "\[Star]", {grouping -> infix, prec -> 510}]}

{520, declare[Operator, "*", {grouping -> infix, prec -> 520}]}
{520, declare[Operator, "⁢", {grouping -> infix, prec -> 520}]}
{520, declare[Operator, "\[CircleDot]", {grouping -> prefix, prec -> 520, largeop -> true}]}

{530, declare[Operator, "\[CenterDot]", {grouping -> infix, prec -> 530}]}

{540, declare[Operator, "\[CircleTimes]", {grouping -> infix, prec -> 540}]}

{550, declare[Operator, "\[Vee]", {grouping -> infix, prec -> 550}]}

{560, declare[Operator, "\[Wedge]", {grouping -> infix, prec -> 560}]}

{570, declare[Operator, "\[Diamond]", {grouping -> infix, prec -> 570}]}

{580, declare[Operator, "&visiblebackslash;", {grouping -> infix, prec -> 580}]}
{580, declare[Operator, "\[Backslash]", {grouping -> infix, prec -> 580}]}

{590, declare[Operator, "/", {grouping -> left, prec -> 590}]}
{590, declare[Operator, "&over;", {grouping -> left, prec -> 590, embellisher -> true}]}

{600, declare[Operator, "-", {grouping -> prefix, prec -> 600}]}
{600, declare[Operator, "+", {grouping -> prefix, prec -> 600}]}
{600, declare[Operator, "\[MinusPlus]", {grouping -> prefix, prec -> 600}]}
{600, declare[Operator, "\[PlusMinus]", {grouping -> prefix, prec -> 600}]}

{601, declare[Operator, ".", {grouping -> infix, prec -> 601}]}

{603, declare[Operator, "\[Cross]", {grouping -> infix, prec -> 603}]}

{604, declare[Operator, "**", {grouping -> infix, prec -> 604}]}

{605, declare[Operator, "\[CircleDot]", {grouping -> infix, prec -> 605}]}

{607, declare[Operator, "\[SmallCircle]", {grouping -> infix, prec -> 607}]}

{610, declare[Operator, "\[Square]", {grouping -> prefix, prec -> 610}]}

{620, declare[Operator, "\[Del]", {grouping -> prefix, prec -> 620}]}
{620, declare[Operator, "\[PartialD]", {grouping -> prefix, prec -> 620}]}

{630, declare[Operator, "\[CapitalDifferentialD]", {grouping -> prefix, prec -> 630}]}
{630, declare[Operator, "\[DifferentialD]", {grouping -> prefix, prec -> 630}]}

{640, declare[Operator, "&root;", {grouping -> right, prec -> 640}]}
{640, declare[Operator, "\[Sqrt]", {grouping -> prefix, prec -> 640}]}

{650, declare[Operator, "\[DoubleDownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DoubleLongLeftArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DoubleLongLeftRightArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DoubleLongRightArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DoubleUpArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DoubleUpDownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DownArrowBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DownArrowUpArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[DownTeeArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftDownTeeVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftDownVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftDownVectorBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftUpDownVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftUpTeeVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftUpVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LeftUpVectorBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LongLeftArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LongLeftRightArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[LongRightArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[ReverseUpEquilibrium]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightDownTeeVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightDownVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightDownVectorBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightUpDownVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightUpTeeVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightUpVector]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[RightUpVectorBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[ShortDownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[ShortUpArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpArrowBar]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpArrowDownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpDownArrow]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpEquilibrium]", {grouping -> infix, prec -> 650}]}
{650, declare[Operator, "\[UpTeeArrow]", {grouping -> infix, prec -> 650}]}


(* The operators %^ and %_ are part of the input syntax for tensors, which is
considered experimental. *)

{659, declare[Operator, "%", {grouping -> left, prec -> 659, embellisher -> true}]}
{659, declare[Operator, "%^", {grouping -> left, prec -> 659, embellisher -> true}]}
{659, declare[Operator, "%_", {grouping -> left, prec -> 659, embellisher -> true}]}

{660, declare[Operator, "^", {grouping -> right, prec -> 660, embellisher -> true}]}
{660, declare[Operator, "&visiblewedge;", {grouping -> right, prec -> 660}]}

{680, declare[Operator, "<>", {grouping -> infix, prec -> 680}]}

{690, declare[Operator, "'", {grouping -> postfix, prec -> 690}]}

{700, declare[Operator, "!", {grouping -> postfix, prec -> 700}]}
{700, declare[Operator, "!!", {grouping -> postfix, prec -> 700}]}

{710, declare[Operator, "@@", {grouping -> right, prec -> 710}]}
{710, declare[Operator, "/@", {grouping -> right, prec -> 710}]}
{710, declare[Operator, "//@", {grouping -> right, prec -> 710}]}

{720, declare[Operator, "~", {grouping -> infix, prec -> 720}]}

{730, declare[Operator, "@", {grouping -> right, prec -> 730}]}

{740, declare[Operator, "--", {grouping -> postfix, prec -> 740}]}
{740, declare[Operator, "--", {grouping -> prefix, prec -> 740}]}
{740, declare[Operator, "++", {grouping -> postfix, prec -> 740}]}
{740, declare[Operator, "++", {grouping -> prefix, prec -> 740}]}

{750, declare[Operator, "⁡", {grouping -> right, prec -> 750}]}

{760, declare[Operator, "?", {grouping -> infix, prec -> 760}]}

{780, declare[Operator, "_", {grouping -> right, prec -> 780, embellisher -> true}]}


(* The operators below which start with % are part of the input syntax
for presubsuperscripts or underoverscripts, which is considered
experimental. The operators %^^ %__ %^^^ %___ will probably be removed. *)

{789, declare[Operator, "%%", {grouping -> left, prec -> 789, embellisher -> true}]}
{789, declare[Operator, "%^^", {grouping -> left, prec -> 789, embellisher -> true}]}
{789, declare[Operator, "%__", {grouping -> left, prec -> 789, embellisher -> true}]}

{790, declare[Operator, "^^", {grouping -> right, prec -> 790, embellisher -> true}]}
{790, declare[Operator, "__", {grouping -> right, prec -> 790, embellisher -> true}]}

{793, declare[Operator, "%%%", {grouping -> left, prec -> 793, embellisher -> true}]}
{793, declare[Operator, "%^^^", {grouping -> left, prec -> 793, embellisher -> true}]}
{793, declare[Operator, "%___", {grouping -> left, prec -> 793, embellisher -> true}]}

{794, declare[Operator, "^^^", {grouping -> right, prec -> 794, embellisher -> true}]}
{794, declare[Operator, "___", {grouping -> right, prec -> 794, embellisher -> true}]}


(* The following prefix embellishers are intented to affect the
rendering style of their argument. This effect is intended to be
implemented using macro rules. The present Mathematica code does not
include such rules, but they would be easy to add. We intend these
operators to be in the proposal, but the list of them is not finalized.
For example, it will probably be desirable to add &plain or &roman. *)

{10000, declare[Operator, "&bold;", {grouping -> prefix, prec -> 10000, embellisher -> true}]}
{10000, declare[Operator, "&italic;", {grouping -> prefix, prec -> 10000, embellisher -> true}]}


(* The following postfix embellishers are purely for testing the parser and
are not part of the proposal. *)

{10000, declare[Operator, "&postbold;", {grouping -> postfix, prec -> 10000, embellisher -> true}]}
{10000, declare[Operator, "&postitalic;", {grouping -> postfix, prec -> 10000, embellisher -> true}]}

Last modified: Sun Mar 30 14:34:33 1997