2.9.15 Operators without Built-in Meanings
When you enter a piece of input such as 2 + 2, Mathematica first recognizes the + as an operator and constructs the expression Plus[2, 2], then uses the built-in rules for Plus to evaluate the expression and get the result 4.
But not all operators recognized by Mathematica are associated with functions that have built-in meanings. Mathematica also supports several hundred additional operators that can be used in constructing expressions, but for which no evaluation rules are initially defined.
You can use these operators as a way to build up your own notation within the Mathematica language.
The is recognized as an infix operator, but has no predefined value.
In StandardForm, prints as an infix operator.
You can define a value for .
In:= x_ y_ := Mod[x + y, 2]
Now is not only recognized as an operator, but can also be evaluated.
In:= 2 3
A few Mathematica operators corresponding to functions without predefined values.
Mathematica follows the general convention that the function associated with a particular operator should have the same name as the special character that represents that operator.
\[Congruent] is displayed as .
In:= x \[Congruent] y
It corresponds to the function Congruent.
The conventional correspondence in Mathematica between operator names and function names.
You should realize that even though the functions CirclePlus and CircleTimes do not have built-in evaluation rules, the operators and do have built-in precedences. Section A.2.7 lists all the operators recognized by Mathematica, in order of their precedence.
The operators and have definite precedences—with higher than .
In:= x y z // FullForm
Some two-dimensional forms without built-in meanings.
Subscripts have no built-in meaning in Mathematica.
Out//InputForm= Subscript[x, 2] + Subscript[y, 2]
Most superscripts are however interpreted as powers by default.
Out//InputForm= x^2 + y^2
A few special superscripts are not interpreted as powers.
Out//InputForm= SuperDagger[x] + SuperPlus[y]
Bar and hat are interpreted as OverBar and OverHat.
Out//InputForm= OverBar[x] + OverHat[y]