# Is there a difference between \bot and \perp, when they are used in exponent?

I am used to write `\$M^\bot\$` for the orthogonal complement of the set M. Is this incorrect?

I have seen this question, the answer there says that these two symbols have different spacing. (One of them is treated as relation. Does this difference manifest in some way when the symbols are used at exponent (without any other symbols around them).

I have tried to search a little to find out whether there are other people which use \bot in the same way I do. You can judge for yourself, but I found some occurrences of this.

Here are the same searches with perp instead of bot:

• From the question you link, it seems `\bot` is indeed the proper way of using that glyph "standalone". `\$V \perp W \implies W \subset V^\bot\$`. However, in that specific case, there is indeed no difference in output between `\$V^\bot\$` and `\$V^\perp\$`. One can still wish to use two commands for the two situations, because they don't carry exactly the same meaning, and you may, at some point, wish to redefine one of the symbols but not the other. Jun 11 '13 at 7:20
• in unicode, the symbols have different codes, since they have different meanings. if using direct unicode input, what would be most appropriate? Jun 11 '13 at 12:57

Ah well it all depends.

In the default setup as commented in the linked question they are the same symbol but with different mathclass (so different spacing) `\bot` is a mathord (like an ordinary letter) and `\perp` is a relation (like `<`). Relations get more space either side if used between two symbols but in `M^{\perp}` the mathlist that forms the superscript only has one atom, so there is no additional spacing applied. That means that `M^\bot` and `M^\perp` produce identical output.

You could argue that `\bot` was better as it is naturally a symbol and a relation is not intended here.

Or you could argue that `\perp` is better as bot refers to a logical notion of bottom/false whereas perp refers to perpendicular which is somehow semantically related to orthogonal.

Or you could argue that they make identical output so it makes no difference and you can use either.

The definitions of `\perp` and `\bot` are, in Plain TeX and LaTeX,

``````% Plain TeX
\mathchardef\perp="323F
\mathchardef\bot="023F

% LaTeX
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
``````

that amount to the same thing. This means that the glyph used is the same, but with different spacings:

``````\$X\bot Y\$
``````

will typeset the three math symbols without any space between them, while

``````\$X\perp Y\$
``````

will have thick spaces around the central symbol.

When a relation symbol such as `\perp` is the only object in a math list, for example in a superscript, for instance your \$M^{\perp}\$ (with or without the braces is irrelevant), there will be no space added; also the result of

``````\$X{\perp}Y\$
``````

would be identical to `\$X\bot Y\$` because `{\perp}` makes the symbol the only object in a math list and a braced subformula is considered as an ordinary symbol (like a letter) as far as math spacing is concerned.

It's convenient to use `\perp` when orthogonality is concerned: you can write

``````\$v\perp w\$
``````

to say that the vectors v and w are orthogonal to each other, and `\$U^\perp\$` to denote the orthogonal complement of the subspace U. Using `\bot` for the latter would hide the meaning.

Technical note. The result of the (meaningless) formula `\$X^{v\perp w}\$` would be identical to `\$X^{v\bot w}\$` because TeX doesn't insert spaces around relation symbols in superscripts/subscripts. This doesn't mean that \$\bot\$ and \$\perp\$ are interchangeable. It's like using `|` or `\mid` in a math formula: both use the same glyph, but with different “math kind” (there are thirteen of them): the former is “ordinary”, the latter is ”relation”.

• Excellent answer, egreg. Could you please list (or link) the "thirteen "math kind""? Dec 16 '19 at 0:22