MINSE: [index]
design - syntax - usage - [notations] - styles - contexts - why? - demo
mathematics notation definition

# Math notation reference

## Operators

The following list gives the operators for the math notation definition in order of diminishing precedence. Any short forms for operators are given after the operator name. In definitions, A and B refer to the elements preceding and following the operator, respectively. Each precedence level has its own associativity.

1. Name Composition (left)
`index ;`
attach a quantitative index B to a variable name A
example: `x;1 + x;2 + 'ellipsis + x;n`
`qual :`
attach a descriptive qualifier B to a variable name A
example: `V:be 'approxeq 0.7*'_Volt`
2. Relation (right)
`apply (`
apply a relation A to an argument or tuple of arguments B
3. Exponentiation (right)
`exp ** ^`
raise a base A to an exponent B
example: `'exp('exp(root(2),root(2)),root(2)) = 2`
4. Factorial (unary left)
`fact !`
form the factorial of A
5. Multiplication and Division (left)
`prod *`
multiply two expressions
example: `2 * 2 = 4`
`quot /`
form the quotient of two expressions
example: `'quot(a / b - 3,c)`
`divby`
divide two expressions and suggest the dot-bar-dot symbol for visual rendering
example: `6 'divby 2 = 3`
`compose`
compose the function A with the function B
`isect`
form the intersection of two sets
6. Quantitative Negation (unary right)
`neg _`
form the negative of a quantity, vector, or matrix
7. Cross Product (left)
`cross`
form the cross product of two vectors
8. Dot Product (nonassoc)
`dot`
form the dot product of two vectors
9. Addition and Subtraction (left)
`sum +`
add two expressions
`diff -`
subtract two expressions
`union`
form the union of two sets
`disjunion`
form the disjoint union of two sets
`relcomp \`
form the relative complement of B in the set A
`symdiff`
form the symmetric difference of two sets
10. Quantitative Comparison (chain)
`eq =`
assert that two expressions are equal
`noteq`
assert that two expressions are not equal
`gt >`
assert that A is strictly greater than B
`gteq >=`
assert that A is greater than or equal to B
`lt <`
assert that A is strictly less than B
`lteq <=`
assert that A is less than or equal to B
`approxeq`
assert that A is approximately equal to B
`propto`
assert that A is proportional to B
`approach`
suppose that A approaches the value B
11. Geometric Relationships (chain)
`parallel ||`
assert that A is parallel to B
`perpto |_`
assert that A is perpendicular to B
`congruent =~`
assert that A is congruent to B
`similar ~~`
assert that A is similar to B
12. Set Comparison (chain)
`superseteq`
assert that A is a superset of the set B
`superset`
assert that A is a strict superset of the set B
`subseteq`
assert that A is a subset of the set B
`subset`
assert that A is a strict subset of the set B
`notsubset`
assert that A is not a subset of the set B
13. Containment (nonassoc)
`eltof`
assert that A is an element of the set B
`noteltof`
assert that A is not an element of the set B
14. Logical Negation (unary right)
`not`
assert the negation of a proposition or truth value
15. Logical Conjunction (left)
`and`
form the logical conjunction of two propositions or truth values
16. Logical Disjunction (left)
`or`
form the logical inclusive disjunction of two propositions or truth values
`xor`
form the logical exclusive disjunction of two propositions or truth values
17. Implication (serial)
`implies`
assert that proposition A implies proposition B
18. Logical Equivalence (serial)
`equiv`
assert that two propositions or truth values are equivalent
19. Definition (serial)
`defeq`
define A as being equal to B
20. Composition (serial)
`tuple ,`
join things into ordered lists

Please note a few things about operators:

• Multiplication must be explicitly indicated. Always use the `*` or `times` operator; never simply juxtapose two expressions.
• The `apply` operator and the `tuple` operator work together to allow natural notation such as `f(x,y)` to signify the application of a function to arguments.

When, in mathematics, we commonly write f(x), we are establishing a relationship between f and x, indicating that f is to be treated as a function and applied to an argument x. This relationship is represented in MINSE by the `apply` compound, which has the function as its first sub-element and the argument as the second. When there are multiple arguments, they are first combined into a single compound by the comma operator, which builds a tuple compound out of all the arguments, and the tuple is used as the second sub-element of the apply compound.

So beware: this use gives the parentheses and the comma a completely different meaning. Usually, the parentheses group the sub-elements of a compound and the commas separate these sub-elements. When not used after a quote and a compound's name, the parentheses act as the right-associative apply operator and commas act as the serial-associative tuple operator, performing the analogous (but distinct) roles of grouping and separating arguments to a mathematical function instead of the sub-elements of a MINSE compound. The function application becomes itself a compound, and likewise for the arguments if there are more than one.

This is all done to reduce typing for the mathematician who is used to simply writing `f(x,y)` to represent a function of two arguments.

copyright © by Ping (e-mail) updated Tue 15 Oct 1996 at 14:19 JST
since Sun 26 May 1996