A wheel is an algebraic concept similar to a field but in which division is always defined, even division by zero. This naturally requires modifications to the usual axioms. Every commutative ring gives rise to a wheel using a simple modification of the construction of the field of fractions, although there are other examples.

The terminology ‘wheel’ comes from the example of the wheel of real numbers, which geometrically consists of a circle (the circle of extended real numbers) together with an additional point (thought of as the spoke of the wheel), thus looking like \odot.


In elementary algebra, it's traditional to write x-x for the opposite (or additive inverse) of xx, although one could write 0x0 - x (or perhaps 1x-1x, meaning 1x-1 \cdot x) instead. This overloads the symbol -, with one meaning as a unary operator and another as a binary operator, related since yx=y+(x)y - x = y + (-x). However, it is not common to write /x/x for the reciprocal (or multiplicative inverse) of xx, but only to write 1/x1/x (or perhaps x 1x^{-1}) instead. But it would work just as well to overload the symbol //, again with one meaning as a unary operator and another as a binary operator, related since y/x=y/xy/x = y \cdot /x.

In a wheel, the unary operator // is a fundamental part of the structure, and the binary // is only defined using it. Although it remains true that y/x=y/xy/x = y \cdot /x, so that we could reasonably write 1/x1/x instead of /x/x, this puts the emphasis the wrong way. And while we could probably write x 1x^{-1} instead of /x/x, this is dangerous, since it's not true that /x/x is always the multiplicative inverse of xx in a wheel. (But for that matter, x-x is not always the additive inverse of xx in a wheel, even though we can still write it, and indeed define it, as 1x-1 \cdot x, when this makes sense.)

If we write multiplication as juxtaposition, then y/xy /x is naturally interpreted as y/xy \cdot /x, and so rather than think explicitly of the derived binary operation //, it's best to think of y/xy /x as always meaning y/xy \cdot /x. So only the unary version of // really matters. But notice that /xy/x y means /xy/x \cdot y, not /(xy)/(x y) (which is different, and in fact equal to /x/y/x \cdot /y, or /x/y/x /y for short). So we are coming down on the side of 8/2(2+2)=168 /2 (2 + 2) = 16 in the great PEMDAS debate.


A wheel consists of an underlying set WW equipped with two binary operations written with any common notation for addition and multiplication, a unary operation written with // as a prefix (called the reciprocal), and two constants 00 and 11, such that:

  • Addition and multiplication are each associative and commutative, with 00 and 11 (respectively) as identities;
  • The reciprocal is an involution: //x=x//x = x;
  • Reciprocals get along with multiplication: /(xy)=/x/y/(x y) = /x /y and /1=1/1 = 1;
  • Multiplication sort of distributes over addition, but not quite: neither 0x0 x nor (x+y)z(x + y) z can be simplified in general, but instead we have (x+y)z+0z=xz+yz(x + y) z + 0 z = x z + y z;
  • An axiom that would imply that reciprocals are multiplicative inverses if distributivity held: (x+yz)/z=x/z+y+0z(x + y z) /z = x / z + y + 0 z;
  • Special properties of 00 that are needed since distributivity doesn't hold: 00=00 0 = 0, (x+0y)z=xz+0y(x + 0 y) z = x z + 0 y, and /(x+0y)=/x+0y/(x + 0 y) = /x + 0 y; and
  • Although 0/00 /0 doesn't simplify, it's an absorbing element? for addition: 0/0+x=0/00 /0 + x = 0 /0.

Although these rules are somewhat odd, we need some unusual behaviour to prevent a wheel from collapsing to a triviality via 0=0x=0/0x=1x=x0 = 0 x = 0 /0 x = 1 x = x. In fact, only the last step is generally valid in a wheel. The paradigmatic example is the wheel of fractions of a commutative ring, for which all of the axioms are easily checked, but for which simpler (invalid) statements have counterexamples.

We can generalize the quasi-distributive rule beyond two terms as

( i=1 nx i)y+ i=1 n1(0y)= i=1 n(x iy). (\sum_{i=1}^n x_i) y + \sum_{i=1}^{n-1} (0 y) = \sum_{i=1}^n (x_i y) .

That is, to multiply yy by the sum of nn terms, you need to add in n1n-1 copies of 0y0 y as well, and then the result is the sum of nn products.

Wheels are like rigs in that there is generally no notion of subtraction. However, if the wheel happens to have a (necessarily unique) additive inverse of 11, we may write it as 1-1, define x-x as 1x-1 x, and define yxy - x as y+xy + -x. But notice that x-x is not in general an additive inverse of xx; rather, we have xx=0x+0xx - x = 0 x + 0 x (using the modified general form of distributivity).

It is common to write /0/0 as \infty and 00 \infty as \bot.


The original example is the wheel of real numbers, denoted \mathbb{R}^\odot. An element of \mathbb{R}^\odot is an equivalence class of pairs of real numbers under a certain equivalence relation. Morally, (a,b)(a,b) and (c,d)(c,d) are set equivalent iff ad=bca d = b c; however, this is not quite right, because it makes (0,0)(0,0) equivalent to every other pair (and so it's not even transitive). So we additionally require that (a,b)(0,0)(a,b) \ne (0,0) iff (c,d)(0,0)(c,d) \ne (0,0), so that (0,0)(0,0) is actually equivalent only to itself. We may write the equivalence class of (a,b)(a,b) as a/ba/b, but let's write it as a:ba : b instead until we've established what a/ba /b means in \mathbb{R}^\odot. Now, we can define addition and multiplication in the usual way for fractions: (a:b)+(c:d)(ad+bc):(bd)(a : b) + (c : d) \coloneqq (a d + b c) : (b d) and (a:b)(c:d)(ac):(bd)(a : b) (c : d) \coloneqq (a c) : (b d). Reciprocals are immediate: /(a:b)b:a/(a : b) \coloneqq b : a. The identities 00 and 11 in \mathbb{R}^\odot are 0:10 : 1 and 1:11 : 1 respectively. More generally, any real number aa gives us an element a:1a : 1 of \mathbb{R}^\odot. This function from \mathbb{R} to \mathbb{R}^\odot is one-to-one and respects addition and multiplication; it also respects reciprocals in that /(a:1)=(1/a):1/(a : 1) = (1/a) : 1 if a0a \ne 0. Now we're justified in writing a/ba /b for a:ba : b. We also write \infty for 1:01 : 0 and \bot for 0:00 : 0; these are the only elements of \mathbb{R}^\odot that don't come from \mathbb{R}. We have x+=x + \infty = \infty whenever x,x \ne \infty, \bot, while +=\infty + \infty = \bot and x+=x + \bot = \bot always; and x=\infty x = \infty whenever x0,x \ne 0, \bot, while 0=0 \infty = \bot and x=\bot x = \bot always. In particular, =-\infty = \infty, and =-\bot = \bot. Of course, /0=/0 = \infty and /=0/\infty = 0, while /=/\bot = \bot. Then xx=0x - x = 0 whenever x,x \ne \infty, \bot, while ,=0\infty - \infty, \bot - \bot = 0; and x/x=1x/x = 1 whenever x0,,x \ne 0, \infty, \bot, while 0/0,/,/=0/0, \infty/\infty, \bot/\bot = \bot. Fortunately, x+0=xx + 0 = x and 1x=x1 x = x remain true always. One way to think of all of this is that we are using the usual arithmetic on the version of the extended real numbers in which =\infty = -\infty (the projective line), but whenever the result is undefined, we take it to be \bot (and any calculation involving \bot stays \bot, as in domain theory).


  • Jesper Carlström (2001). Wheels: On Division by Zero. Web.

Last revised on August 11, 2021 at 04:23:26. See the history of this page for a list of all contributions to it.