Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I see it as somewhat complex but in the end I sort of agree that it is a definition. Let's start with a problem:

0/0

The problem with this is not that the equation itself is meaningless. the limit of n/x as x->0 is infinity for any positive real number, and negative infinity for any negative real number. In essence 0/0 ends up reducing to 0 * infinity, which isn't very helpful.

I would argue that discontinuity in a form like this can never be unique to a single point in an otherwise continuous function, if the limit approached from both sides is the same, unless that point as a specific, defined value. This is because a point is arbitrarily small. The limit of 1/x as x->0 is discontinuous because from the negative side and the positive side, the limits are different, as anyone can see when you plot it on a graph.

However here we have x/x, and the limit stays at 1 from both sides. It may be formally undefined at the exact point of 0/0, but the limit from both sides is the same, and it remains constant as you get arbitrarily close. Therefore it is simpler, system-wise, to treat it as 1, than to make an exception for it.

> In the case here, you're free to reject the convention that defines 0^0 as 1 and reason with the result;

But you add complexity which is neither helpful nor desirable.



The relationship f(x)=x/x is only defined for x /= 0 and thus is not equivalent to 1. We can see this in [a] when we ask for the domain of the function, and thus we can redefine some function f' as a piecewise function which is defined to have f'(0)=1, but in proofs we must thus make sure to first prove that using f' as a substitute for f does not affect our result.

In one of the below posts we have the suggestion

> But what if you're in a context where you're not reasoning about continuous functions at all? Why would you have to be subject to reasoning that doesn't apply to your situation?

In this case you could either do the above, if you have to concern yourself with e.g. a domain of the set of real numbers arbitrarily close to the undefined location. Alternatively you could just define our original function f only for real numbers greater than 0, in which case you escape the necessity of redefining functions to be easier to work with.

[a]: http://www.wolframalpha.com/input/?i=domain+of+f%28x%29+%3D+...


> The relationship f(x)=x/x is only defined for x /= 0 and thus is not equivalent to 1.

If that's the case then:

x * f(x) = x cannot be equivalent to f(x) = x/x which breaks algebra in pretty fundamental ways (since the former would certainly be defined for 0 but the latter would not).

The second major problem is that it also breaks calculus. Let's start with a straight line: f(x) = 2x.

Now let's take the first derivative of this: f'(x) = 2x/x.

Does the line at the point where x = 0 have a slope or not? If this is discontinuous, then you have also broken calculus.

This gets as to why 0/0 is undefined, namely because when you cannot express it as a limit, and have no idea how both zeros are derived (and hence what they mean) you cannot give a specific number. You can come up with equations which for some value reduce to 0/0 but whose limits range from negative infinity all the way to positive infinity. But that doesnt mean that x/x is undefined where x = 0. x/x reduces to 1. Always. Anything else breaks higher mathematics generally.


> "x * f(x) = x cannot be equivalent to f(x) = x/x"

Sure it's equivalent, over a domain not including x=0. This does not break algebra any more than, say, restricting the domain of the square root (when working in the reals) to non-negative numbers. We work in restricted domains in mathematics all the time.

> " f'(x) = 2x/x"

f'(x) = lim (h->0) [2(x+h)-2x]/h. Since h is approaching (and therefore not equal to) zero, there is no problem. Any appearance of 0/0 in the problem is a result of an attempted (but unsuccessful, that is, indeterminate) evaluation -- it's not actually 0/0, it's 2h/h where h is close to but not equal to 0.

We don't need to define 0/0=1 in order to have either algebra or calculus work. We choose to define 0/0=1 in certain circumstances which make certain calculations go more smoothly, and we choose not to define 0/0 in other circumstances where it's either unnecessary or potentially misleading.


> This does not break algebra any more than, say, restricting the domain of the square root (when working in the reals) to non-negative numbers.

Sure it does, because if that is the case, you restrict your domain when you divide by a variable expression. If you divide both sides by x-1, then you effectively rule out 1 from the domain.

That's the problem.

Now this is not the same as 0/0. The point is that 0/0 is only undefined when it persists after simplification and only because you can't define a relationship between the two zeros.

I.e. 0/0 is undefined because 2x/x, 52x/x, and x^2/x give you three different answers as x->0. That doesn't mean that every function which has not been reduced and can transiently evauate to 0/0 is treated as non-continuous.

Regarding derivatives, this highlights the problem because to solve the first derivative of a variable to a simple exponent, you multiply by the exponent and divide by the variable (x^2 becomes 2x, 2x becomes 2, and so forth). What this means is that you may be dealing with a limit but the limit defines a function, which is something like 2x^2/x for the derivative of x^2 and 2x/x for the second derivative.

Unless you allow simplification before determining whether the function is continuous, these things don't make sense. If you allow reduction first, then x/x^2 is undefined where x = 0, but x/x is not, because you can reduce it to 1 before applying any further logic. Both may appear to evaluate to 0/0 however.

There are a huge number of things that seem to break in algebra and calculus if one treats x/x as non-continuous and undefined. The simpler solution is to allow reduction to 1 before determining that it is undefined. (of course 52x/x would reduce to 52 instead, again showing why 0/0 is oversimplifying the problem).


> "you restrict your domain when you divide by a variable expression"

Why is this a problem?

Whenever you perform an operation that has a restricted domain, you restrict your domain. This may result in an actual "not defined at x=1" result, or simply "the value at x=1 is found through an alternative method" result.

> "0/0 is only undefined when it persists after simplification"

When you're working in the context of limits, it wasn't an actual 0/0 to begin with; it was near-0/near-0, which is perfectly OK to simplify. The limit defines a function that already has a restricted domain -- h->0 means h is not actually zero. The expression naively evaluating to 0/0 simply tells you that you need to do more work to properly evaluate it -- 0/0 is not the actual result.

Note that using the limit to find the derivative gives you a function that you'd like to be continuous in x, but the divide-by-zero is in h. Consider f(x)=x^2. The derivative is

lim h->0 [(x+h)^2 - x^2 ] /h

lim h->0 [ x^2 + 2xh + h^2 - x^2 ] /h

lim h->0 [ 2xh + h^2 ] / h

lim h->0 [2x + h] * h/h

since h does NOT equal zero, we can treat h/h=1, and the limit trivially collapses to 2x. Note that we never had the variable x in the denominator of our fraction; we never placed a restriction on x or suggested anything about a discontinuity relative to x. We only restricted h, which was already restricted by the limit itself.


The expression 52x/x has a restricted domain as well (x /= 0). But that's normally not what you mean when you write it. It isn't often you really care about expressions like 52x/x; they are generally just intermediate steps in getting to a real solution.

For example: I have done a lot of work on some equation that is interesting to me, and finally I have reduced it to 5+yx=52x+5. Now obviously the rules of algebra let me subtract 5 from each side and be left with yx=52x, and this subtraction also has no effect on the domains for which our variables may be defined. All is well.

But dividing out the x is what we are concerned with now. Surely y=52 is a solution to the equation - why can this not be true for all values of x?

Well, for nonzero x we have y=52 and nobody will complain. For x=0, though, solving for y is problematic. Note that if x=0, y could be 1, or 33, or any number. If there is some function f such that y=f(x), then it follows that f(x) holds a unique value y for each input of x/=0, but for x=0 we cannot know what y might be; this is what we mean by undefined. Thus we say the domain of f(x) is the set of all real numbers x, such that x is not equal to zero.

If you have been told otherwise, or even gotten away with doing algebra or calculus under the assumption that the domain of our function f may include zero, you are taking a mathematical shortcut rather than performing formal analysis. It is not calculus nor algebra that is broken by saying f is undefined for x=0, but rather your (albeit practically useful) misconception of these systems.

I'll finish with some formal rules of algebra, to hammer this in:

- [P6] Existence of a multiplicative identity: a * 1 = 1 * a = a ; 1 /= 0.

- [P7] Existence of multiplicative inverses: a * a^(-1) = a^(-1) * a = 1, for a /= 0.

These are taken from page 9 of Spivak's Calculus, 3rd edition. He goes on to build the foundations of all of calculus from rules like these. Surely he would not present this as a fundamental axiom of his system, only to immediately (and silently) reject it and build a flawed calculus instead!

Indeed, on pg. 41, when defining functions, Spivak later writes (emphasis his):

> It is usually understood that a definition such as "k(x) = (1/x) + 1/(x-1), x /= 0, 1" can be shortened to "k(x) = (1/x) + 1/(x-1)"; in other words, unless the domain is explicitly restricted further, it is understood to consist of all numbers for which the definition makes any sense at all.


> Sure it does, because if that is the case, you restrict your domain when you divide by a variable expression. If you divide both sides by x-1, then you effectively rule out 1 from the domain. > That's the problem.

That's the problem that a mathematician must handle. The solution to the equation

  x * f(x) = x
is very simple: x is either 0 or such that f(x) = 1.


I see that you are defining 0/0 to be a value such that f(x) = x/x has no discontinuity at x=0. But your chosen value means that the function g(x) = x^2 / x is discontinuous at x=0, and the function h(x) = -x/x also has a discontinuity, etc.


I am defining continuity such that single point that is undefined does not break continuity if and only if it has the same limit when approached from both sides. This is because, as I say, a point is arbitrarily small and therefore if the limit is the same on both sides, it's simpler to treat it as still a continuous function.

Otherwise I think you get some problems which break algebra, because multiplying of dividing by variables can break the domains of functions.

If we have f(x) = 1, then this should be the same even if we multiply both sides by x. x * f(x) = x, which results in f(x) = x/x. You break algebra by allowing such straight-forward manipulations (which really are the core of algebra) to tamper with the original domain of the function.

Just as you can't just treat a square root as a core algebraic process (because it is not a function), you would no longer be able to divide by a variable, since that would be undefined wherever the variable is 0.

Edit Also it occurs to me that treating x/x as undefined at 0 would also man that the first derivative of f(x) = x would also be undefined at 0, which can't work either.

So therefore treating x/x as discontinuous at 0 breaks both algebra and calculus.


But what if you're in a context where you're not reasoning about continuous functions at all? Why would you have to be subject to reasoning that doesn't apply to your situation?


That's actually an interesting point. And actually it occurs to me that even in continuous equations you have a problem:

Does it matter if we are talking 0^x or x^0?

I would think that in the context of 0^x, you'd have a constant function of 0, but x^0 you'd have a constant function of 1. These have different limits as x -> 0.

I think you have just convinced me that 0^0 is undefined.

Edit: Ouch. 0^x can't be defined for a negative x, so that doesn't work. I am back to siding with 1.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: