6 ms·
I'm a mathematician and I'm not aware that there was a "long controversial history". (I'll ask a colleague who teaches history of math and see if she knows anyt
by bikenaga 10y ago
I'm a mathematician and I'm not aware that there was a "long controversial history". (I'll ask a colleague who teaches history of math and see if she knows anything.) I have a lot of students who plan to teach, and I tell them that their students (and other people) will probably ask why "you can't divide by zero". It's important to explain what is meant by "can't". (Does it mean no one knows how to do it? Or that some mathematical authorities issued a decree? Of course, it's nothing like that. Those kinds of misunderstandings can arise because people don't understand how math is done by mathematicians, because it is done in ways that are different from the way we do things in everyday life.)
Anyway, the explanation is simple and quick enough that I can do it in any class where I'm discussing number systems (e.g. linear algebra, number theory, abstract algebra). The "tl;dr" is that if you want to "divide by 0" you will have to give up something else, and none of the things you have to choose from are things you'd want to give up.
In more detail, suppose you could "divide by 0". Division is defined as multiplying by the multiplicative inverse. (If you don't like that definition, you have to explain what you'll substitute as the definition of division - and note that, mathematicians want a definition that extends smoothly to "number systems" that may be very unfamiliar.)
So saying you can divide by 0 is the same as saying that 0 has a multiplicative inverse - call it 0^(-1). By definition of multiplicative inverse, 0 * 0^(-1) = 1.
On the other hand, in any reasonable number system (specifically, in any ring), 0 * x = 0 for any x. The proof is easy - it uses the definition of "0", the definition of additive inverse, the distributive law, and associativity of addition. (Try it!) Therefore, 0 * 0^(-1) = 0, so 0 = 1.
If this doesn't seem enough of a contradiction, just note that it follows from this (and the definition of "1") that x = 0 for all x. So the only "number" in the whole world is 0. Well, that makes life simple, but not very interesting.
So: If you want to "divide by 0", you're going to have to give up one of those algebraic axioms I mentioned. Which one would you give up? Associativity of addition? The distributive law?
I think it's really important to explain (particularly to kids learning math) that math is not a bunch of arbitrary rules. "Not dividing by 0" is not an arbitrary rule - it's a matter of making a trade-off.
- gizmo686 10y ago>So: If you want to "divide by 0", you're going to have to give up one of those algebraic axioms I mentioned. Which one would you give up? Associativity of addition? The distributive law? Just to expand on this, mathmaticians have done this; in several ways. For example, the Projetivly Extended real line, and Riemann sphere add "∞" to the Real or Complex numbers respectivly, such that 1/0=∞. Note that 0/0 remains undefined, ∞=-∞, 0∞ is undefined, and ∞ + ∞ is undefined (I am probably missing other "oddities" of these constructions). There is also a more general way of defining division by 0, that avoid undefined instances: wheels. As bikenaga mentions, the standard definition of a "reasonable" number system that involves addition and multiplication is a ring. In general, division by anything is not defined because elements are not guaranteed to have multiplicative inverses [0]. For example, the integers form a ring, but 5/3 is not defined in the integers. If you add the following two properties to a ring, you get an integral domain: 1) Commutativity: xy = yx 2) if xy=0 then x=0 or y=0. Again, the integers are an example. For a non integral domain ring, consider the integers mod 4, where 2 * 2 = 0. Once you have an integral domain, there is a standard way of defining division by any non-0 element: fractions. Informally, we that x^(-1) is the fraction 1/x, and a/b = x/y iff ay=bx. Addition and multiplication of fractions are defined as you learned in grade school. [1] As you would expect, applying this approach to the integers gives you the rational numbers. More formally, we defined the fraction x/y as the ordered pair (x,y). To define a wheel, we modify the above construction slightly. Specifically, we say that a/b = x/y iff there exists an s,s' such that (sa,sb) = (s'x,s'y) or sa/sb = s'x/s'y [2]. Addition and multiplication remain unchanged, but we define a new operation for taking inverses: /(x,y) = (y,x). That is to say that, to take the "inverse" of an element, you swap the numerator and denominator. In this system, we define 0 = (0,1) = 0/1 and 1 = (1,1) = 1/1. Division by 0 is now a simple matter: 0/0 = (0,1)/(0,1) = (0,1)(1,0) = (0,0) Notice that, under this construction, (0,0) is not the zero element; (0,1) is. Further, the equation (0,0) + x = (0,1) has no solution. If you keep poking at this structure, I am sure that you can find other bad things that happen. [0] In fact, depending on who you ask, a ring is not even required to have a multiplicative identity (eg. 1). [1] This construction gives you a structure known as a field; which is, in my opinion, the point where most non-mathematicians would start consider the algebraic structure to be a reasonable number system. [2] Under this construction, we can also loosen the requirements of the underlying ring. Specifically, any commutative ring will do. We do not require that xy=0 implies x=0 or y=0.
- bikenaga 10y agoThe stuff on wheels is interesting! I found the paper by Carlstrom (http://www2.math.su.se/reports/2001/11/ http://www2.math.su.se/reports/2001/11/) and it alludes to applications, though I didn't see any specifics about applications (to computer science, at least). Thank you for the pointer.
- gizmo686 10y agoIf you avoid division by 0, wheels revert back to normal fractions [0]. This should mean that you can use them as a drop in replacement for a rational number datatype. Doing so should allow you to defer checking for division by zero; possible moving the check outside of a tight loop. Granted, this should also be doable as an optimization of normal rational arithmetic. The only use cases I can think of for wheels amount to them being a principled way of adding NaN to the number system. Of course, if history is anything to go by, a hundred years from now someone may look back on this comment the same way we look back on people calling sqrt(i) "imaginary". [0] At least under the explicit construction presented.
- nonbel 10y agoThis conversation may have moved well above my head, but I mean start with 0/0 = "undefined". I don't see why that should be the case. x = 0/0 x*0 = 0 1*0 = 0 2*0 = 0 ... From this we see that it isn't really that x is undefinable, rather it can be any value at all. There is apparently no issue with an equation having two equally valid solutions (eg quadratic formula), so at what point are there too many?
- bikenaga 10y agoI think I see what you're asking. I think the answer is: Before we start talking, you have to tell me what all the rules are. So when you say "start with 0/0 = 'undefined'", what is the ambient number system? The proof I gave earlier showed the number system can't be a ring - so it's not the real numbers, the integers, the rationals ... at least not by the standard definitions of those number systems. When you do math, you don't make up the rules as you go. As far as the example you gave goes, you start by assuming 0/0 is defined. But if you're trying to show 0/0 is defined you're assuming what you want to prove. The logic isn't correct. Note that giving 0/0 the name "x" doesn't do anything. Simply naming something doesn't establish any fact. It just makes "x" shorthand for "0/0". Anyway, observing that 0/0 * 0 = 0 but also 1 * 0 = 0, 2 * 0 = 0, and so on doesn't establish any necessary connection between "0/0" and 1, 2, ... You wouldn't conclude from "1 * 0 = 0" and "2 * 0 = 0" that "1 = 2", or that "1 could be 2", for instance. So nothing has happened. But what could happen? Remember that you started by assuming that "0/0" was defined. "Assume" in math means you've assumed it's true. In that case, you're done, right? Its "definedness" isn't probabilistic. And if starting with that assumption you did find out something true, it doesn't follow that the assumption is "independently" true. (The truth of "if P, then Q" and the truth of "Q" do not together imply the truth of "P".) You might want to look at the post on wheels higher up this thread. It shows what you could do - namely, use a different set of rules. This may be more than you wanted to know ...
- hashhar 10y agoWow, this was a really interesting explanation. I think this is perfectly appropriate for junior school while the explanation about non-converging limits offerred above by someone is well suited to college students.