DragginMath: Indeterminate Values
Some families have issues they would rather not talk about. The family of numbers is one of these.
For example, what is 1÷0? A typical answer from a typical math teacher is that 1÷0 is undefined, at which point a typical math student is expected to go away and not ask more questions like that. But computer programmers actually need an answer to that question. Without it, computers halt, important machinery misbehaves, money is lost, and people get hurt or die. Really. And then there is a related question: what is 0÷0? That is undefined, too, but it is a different kind of undefined. Things like this will become increasingly visible to you in your life, because the computers you use every day deal with these things now, even if traditional mathematics (with good reason) doesn’t like to and never will.
In DragginMath, for any x > 0, x÷0 = ∞. That sideways-8 symbol represents Infinity, otherwise known as Really Really Really Large. In some ways, ∞ behaves like a number. In other ways, it doesn’t. For example, ∞+1 = ∞, ∞–1 = ∞, ∞∗2 = ∞, ∞÷2 = ∞, and other strange things. But 1÷0 is not undefined here. It is ∞. Some other operations with the wrong operands result in ∞, also. And there is a related value, Negative Infinity, written ⁻∞.
In DragginMath, 0÷0 = ? That question mark represents Not-a-Number (or NaN), and 0÷0 is not the only way to make it. This name, Not-a-Number, may not be the best name for this idea, but the people who invented the name couldn’t think of a better one, and they tried. ? is even stranger than ∞. We know that ∞ is Really Really Really Large, but we simply have no idea what ? is. It is not large. It is not small. It is not positive or negative, real or imaginary. It may be something, but whatever it is, it is Not-a-Number (it sometimes turns out to mean any number or all numbers, but don’t count on it). Some other operations with the wrong operands result in ? also. Any operator that is given ? as an operand returns ? as a result. Usually, once ? appears in a computation, everything else quickly becomes ? too.
These values are called indeterminate: we might know how we got them, but we don’t really know what they are. Sometimes we might know what to do with them, and other times not. There is no way to type any of these values at the keyboard in DragginMath: they can only be created as the results of operations.
This topic is larger than we can talk about here. But ∞ and ? give us ways to talk about things we otherwise could not talk about at all. Do not let this make you complacent about these things. If you ever encounter ∞ or ? in DragginMath or anywhere else, this is probably something you need to think about, and maybe even worry about. But at least your worries will not be undefined.