Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
0^0 (askamathematician.com)
506 points by hansy on April 2, 2014 | hide | past | favorite | 248 comments


It's very important to note here that 0^0=1 is a shorthand and not a truth.

Mathematicians are absolutely not stating that they have proven, or that it is true, that 0^0=1. It is a definition, not a claim of equality. They're not saying "0^0 is 1" in the sense that they say "1+1 is 2" or "0.999... is 1". They're saying "we define 0^0 to be 1". The difference is more than just pedantry, it strikes at the core of why mathematics is the most powerful tool for determining truth that humanity has either discovered or invented (hat tip to anyone familiar with that debate).

One of the cold, austere, beauties of mathematics* is that if you do not accept a definition, you can reject it as false and reason with the result. To give the traditional example, if you accept as true that two parallel lines never intersect, then along with the other 4 of Euclid's Axioms you can prove all of Euclidian Geometry (what you learn in high school). If you do not accept it as true (an explicitly accept it as false), then you can prove all of Hyperbolic Geometry (one form of non-Euclidian Geometry).

In the case here, you're free to reject the convention that defines 0^0 as 1 and reason with the result; you will not break any mathematics. But you should know that mathematicians have never run into any issues with this convention--or can handle it trivially when they arise--so you're only adding a lot of work for yourself.

When you really think about it, it fills you with awe. It's awesome.

*“Mathematics, rightly viewed, possesses not only truth, but supreme beauty—a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show.” -Bertrand Russell


In a certain sense, "1+1 is 2" is also merely a definition, in the same sense that "0^0 is 1" is a definition. Addition can be formally defined in mathematics; we habitually omit this definition because it is tedious, and because addition is such an intuitive operation that we do not require a definition in order to reason about it.

Much as the question "what if the parallel axiom didn't hold?" leads to alternative geometries, the question "what if addition didn't work in the same way?" (or "how can we generalize addition?") leads to some basic notions in abstract algebra.


This is simply wrong. 1+1=2 is the same kind of statement as 2^1=2 - it follows from the definition of the operation and from a general rule (it would be absurd here to say that 2^1 is the definition of 2, or that 2^1=2 is part of the definition of ^). 0^0 is just a meaningless symbol unless given explicit definition. There is no popular set of axioms where 1+1=2 is taken as an axiom - it is always proven. The symbol 2 is not defined as 1+1.

Conceptually this reflects the fact that knowing what 2 means is different from knowing what 1 means and what addition means. In principle a computer can correctly recognize 2 apples as being 2 apples without knowing anything about addition and without being able to recognize 1 apple.


This is a good point. Your grandparent's original distinction was that 1+1=2, just as 2^1=2, follows from a definition while 0^0=1 is immediately defined. However, the parent's still valid point was clearly that even the plus operator is in the larger sense just as arbitrary as the definition of 0^0, concurring with the overall theme of this thread that mathematics ultimately gives no credibility to intuition.


What do you think the definition of ^ is then?

The ^ operator is defined as:

  0^0 = 1
  x^y = exp(ylog(x))  if  x != 0
  0^y = 0             if  y != 0
Or similarly set theoretically.


I'm happier starting with the natural numbers, and just defining m^n as m multiplied by itself n times. Everyone gets that this is the point of exponentiation of natural numbers, and it has the obvious recursive definition:

    m^0 = 1
    m^n = m^(n-1).
And now 0^0 = 1 follows immediately, just as it does for 0+0 = 0 and the recursive definition of addition in terms of successor.

After that, I consider the question of what x^y means for non naturals as motivated largely by considerations of algebraic and analytic extension. We get negative exponents simply by extending the operation with the requirement that

    m^0 = 1
    m^(n+p) = m^n*m^p.
We get rational exponents by extending the operation with the requirement that

    (m^n)^p = m^(n*p).
We get real exponents by extending the operation to the limits where they exist. We get complex exponents by extending the operation to the largest analytic extension.

The tension then is that the real and complex extensions don't "confirm" the original reasonable setting of 0^0=1, but I personally find it more objectionable poking a hole in the function, when it was so clear in the case of natural numbers that 0^0 should be 1 (and see the set theoretic and category theoretic accounts for more reasons why this is clear).


Most real numbers only exist in fever dreams and acid trips, anyway.


Whatever it is, 2^1=2 is not part of it - it follows from it.


Uhm, anything that is part of a definition follows from that definition.

`A and B implies A' and so on.

In the end a function, in the mathematical sense, is just a long (possibly infinite) table of `from' and `to' values. We could argue that one definition of ^ is more or less complex than another, for some definition of complexity, but I'm not sure which would win, and if it would be useful.


"Follows" in the sense that it is not an axiom - it has a proof of more than one line in the sense of the Hilbert system. Seeing functions as collections of ordered pairs tells us nothing here.

Your definition of ^ doesn't directly tell me that 2^1=2. It does tell me however that 0^0=1.


Isn't that a circular definition, since, exp is e^x?


We can just define exp as:

  exp(x) = 1 + x/1! + x*x/2! + x*x*x/3! + ...


If one defines x^y this way, one usually defines exp by a power series, and then defines e as the number such that e^x = exp(x).


Or of course just e = exp(1)


>There is no popular set of axioms where 1+1=2 is taken as an axiom - it is always proven.

I would love to see a proof of 1+1=2. For example in the case of elliptic curves, as far as I know addition is simply an axiom. E.g. A+A'=0=inf , where inf is the point at infinity and A' is the reflection of A.

Math is not related to nature. Try to reason your way to matrix multiplication with apples: A * B != B * A


Using the Peano axioms, we need to prove that S(0)+S(0)=S(S(0)).

From the definition of +: S(0)+S(0)=S(S(0)+0) Again using the definition of +: S(0)+0=S(0). And we get: S(0)+S(0)=S(S(0))

Q.E.D.

There is also a famous proof by Whitehead and Russell on page 379 of Principia Mathematica: http://quod.lib.umich.edu/cgi/t/text/pageviewer-idx?c=umhist...


Thank you, I didn't know you could prove that!

I believe my disagreement was specifically about this (quoted):

> In principle a computer can correctly recognize 2 apples as

> being 2 apples without knowing anything about addition and

> without being able to recognize 1 apple.

I have a hard time seeing this. If I am not mistaken again, there is no definition of the symbol 2 that does not include addition. The proof above doesn't really prove this either as Peano's axiom rely on the definition of "successor". Successor definition: "a+1 is the successor of a".

http://mathworld.wolfram.com/PeanosAxioms.html

http://mathworld.wolfram.com/Successor.html


See the edit in my reply to tomp. In the Peano axioms, 2 is defined as S(S(0)), not as S(0)+1. The correct way to think about this is to ignore any inclination to give those symbols any "real world" meaning. From the point of view of the formal system - they are just strings, and the only thing we know about them is how to manipulate them to form other strings. Under this perspective, the connection between S(S(0)) and S(0)+1, or in general between S(a) and a+1, is again something which requires proof: S(a) = S(a+0) = a + S(0).

A computer can be given an explicit map between the symbols S(0), S(S(0)), s(S(S(0))), ... and 1,2,3..., so to identify S(S(S(S(S(S(0)))))) with 6 - it wouldn't need to know anything at all about + or about 1.

Edit: also consider the following quote from Wittgenstein's Philosophical Investigations and whether the person described needs to have any concept of 'addition' in order to correctly use numbers: "Now think of the following use of language: I send someone shopping. I give him a slip marked 'five red apples'. He takes the slip to the shopkeeper, who opens the drawer marked 'apples', then he looks up the word 'red' in a table and finds a colour sample opposite it; then he says the series of cardinal numbers--I assume that he knows them by heart--up to the word 'five' and for each number he takes an apple of the same colour as the sample out of the drawer.--It is in this and simlar ways that one operates with words--"But how does he know where and how he is to look up the word 'red' and what he is to do with the word 'five'?" ---Well, I assume that he 'acts' as I have described. Explanations come to an end somewhere.--But what is the meaning of the word 'five'? --No such thing was in question here, only how the word 'five' is used."


This is quite beyond my knowledge, I like the Wittgenstein philosophy, but I would still argue:

You cannot calculate S^(x+1)(0) before the result of S^x(0) is known.

To calculate S^6(0) you start by calculating S(0) ----> It's not possible to "identify S^6(0) with 6" if you haven't calculated S(0) first, because you cannot know S^6(0) at this point.


The computer has a table in memory that tells it S^6(0) = 6 (or equivalently O O O O O O = 6 apples). When it sees a symbol - for example S^6(0) - it searches this table for the same symbol, and then outputs the corresponding number. In no stage of this process does the computer "calculate" anything - it doesn't even need to know that S^5(0)=5 in order to find that S^6(0)=6. In fact S^5 might not even be in the table.


Here is a simple definition of the natural numbers and addition, in Haskell:

    data Nat = Zero | Suc Nat

    plus :: (Nat, Nat) -> Nat
    plus (Zero, y) = y                  -- axiom 1
    plus (Suc x, y) = Suc (plus (x, y)) -- axiom 2

    one = Suc Zero
    two = Suc one
Here is a proof that plus (one, one) = two:

    plus (Suc Zero, Suc Zero)
    = Suc (plus (Zero, Suc Zero))  [by axiom 2]
    = Suc (Suc Zero)               [by axiom 1]


Can you please translate that to mathematics? My request was regarding a formal mathematical proof.


The code I gave translates easily into Agda, a computerized proof checker, and as such more formal than most mathematics. However, here's the same thing in a modernized version of Peano arithmetic. We assume all the usual properties of equality: reflexivity, symmetry, transitivity, and substitution.

    -- Axioms (only 1 and 2 are relevant)
    1. 0 ∈ N
    2. ∀ x∈N. S(x) ∈ N
    3. ∀ x∈N. 0 ≠ S(x)
    4. ∀ x∈N, y∈N. S(x) = S(y) ⊃ x = y
    5. P(0) ∧ (∀ x∈N. P(x) ⊃ P(S(x))) ⊃ ∀ x∈N. P(x)

    -- Definition of addition
    6. ∀ a∈N. a + 0 = a
    7. ∀ a,b ∈ N. a + S(b) = S(a+b)

    -- Proof that S(0) + S(0) = S(S(0))
    9. S(0) ∈ N                     [from 2 and 1]
    10. S(0) + S(0) = S(S(0) + 0)   [from 7 and 9]
    11. S(0) + 0 = S(0)             [from 6 and 9]
    12. S(S(0) + 0) = S(S(0))       [substitution of equals, from 11]
    13. S(0) + S(0) = S(S(0))       [transitivity from 10 and 12]
Edit: Ah, I see I was beaten to it by pavelrub.


Maybe your parent meant that "1 + 1 = 2" is the definition of "2", in the sense that we write the symbol "2" to denote the Peano successor of "1", the Peano successor of "0", which is not a successor.


Maybe. Formally this is inaccurate as the successor function is not the addition function, and one has to prove that S(S(0))=S(0)+S(0).

Edit: it should also be noted that this equality shouldn't seem "obvious": the name "successor" here is misleading, as it automatically links to our everyday understanding of a successor as being "the next number", in which case it is indeed obvious. But formally it's just a meaningless symbol that can be changed to other meaningless symbols by certain meaningless rules. Our everyday life association of (apple) -> S(0), (apple,apple)->S(S(0)) is then a kind of a model for those meaningless things, but from within the formal system - they have no meaning.

In general I also do not like the invocation of formal arguments here, I think it misses the point. The bigger issue is that for us humans there is an obvious difference in kind between 1+1=2 and 0^0=1 - this should be obvious. Trying to hide this difference by appealing to different kinds of language trickery and formalism is an indication of doing something wrong, not of discovering anything new. The difference is still there, and we should understand why it's there, not force it to disappear (compare to the claim that every human act is egoistic in nature - what information does it really give us about the human nature?).


I did not in fact mean that 2 is defined as 1+1; you (and several others) are correct in saying that 1+1=2 requires proof for all reasonable definitions of +. 0^0 = 1 follows much more directly from the definitions in which it is true. My overall point has been articulated by arketyp in a sibling post to tomp's; like ^, + is "just a definition" which we arranged so as to line up with our intuitions.

I disagree with your assertion that 1+1=2 and 0^0=1 are of completely diferent kinds. That depends on what intuitive angle you approach them from; my intuition for ^ is that it is the iteration of multiplication, and in this context the only sensible definition is that x^0 = 1 (the unit of multiplication), for any x. The generalization to continuous bases and exponents should preserve this property.

But this is certainly a matter of taste, and certainly you'll find more disagreement here than in the matter of 1+1=2. What this tells us about human nature, I think, is not much: humans will disagree more when things get more complicated (^ is more complicated/abstract than +) and there is more room for disagreement.


I agree with the point you're making, but I want to be a little pedantic: It's true that addition is a definition, but 1+1=2 is not--it logically follows from the definition of addition.


It took Alfred Whitehead and Bertrand Russell 379 pages to prove that it "logically follows", and that was before they even defined addition! http://quod.lib.umich.edu/u/umhistmath/aat3201.0001.001/401?...


Whitehead & Russell didn't have the proof machinery we have today; they were inventing the wheel, and they did it badly. (Which is not to insult their achievement. Note that I say inventing the wheel, not reinventing it.)


It's a definition of what "2" means.


It's one of the possible definitions. You could as well define next(x) = min(y such as y>x) and define 2 as next(next(0)) (0 can be defined as either x such as for all y y+x = y, or as x such that for all y x<y, depending on what set you are working with). Proving that 2 is 1+1 would be a theorem then. Of course, that works only for integers :)


I was always under the impression that 2 is shorthand for s(s(0)).


It depends on where you are coming from. If your context are ordinal numbers then you are right and a typical definition of 0 is {} and of s(x) is x∪{x}. But if you working with finite fields for example then you only have an addition operation. "Successor" does not make much sense there, since 1+1+…+1=0 for the right amount of additions (you are calculating modulo a prime). Since 0+1:=1 is trivial you usually start with 1 and define 2 as 1+1, 3 as 1+1+1…


You don't usually define 2 at all when talking about abstract structures (it makes little sense to call the polynomial 2 as being "the 2" of the field of rational functions, for example). 2 is something that exists only in N, and talking about it in other structures makes sense only when you are referring to a ring homomorphism Z->F or something similar.


That definitely is a more clean way to look at the matter, yes. Nonetheless I've seen the definition I stated above a few times and the merit is that you do not have to take an implicit indirection every time you state something like "2≠0". And as a ring homomorphism ℤ->R for any ring R with identity element is already completely defined and in effect identical to the definition "2:=1+1…" for every positive whole number, it is really just a different way of formulating the same idea.


My point is that when talking about the definition of 2, it is enough to restrict ourselves to the natural numbers - since that is where 2 is coming from. If we then want to extend this symbol to other places - the meaning of such an extension will be given by a map, not by requiring a different definition. That is - there is only one 2, everything else is ψ(2) for the homomorphism ψ:Z->R.


Not quite, just as in calculus you end up rediscovering some old geometry formulas there are branches of mathematics where you end up rediscovering 2 such that 1 + 1 equals it. Other options include 1 + 1 = 0 or 1+1 = 1.


But 1+1=0 or 1+1=1 happens because you are redefining the operator + (sometimes subtly, like using it over Z2), so what rickhanlonii said still holds. 1+1 is 2 if you're using the usual definition of sum, i.e., addition over integers or a superset of integers.


You missed the point 1 + 1 = 2 depends on the definition of '1', '+', '=', and '2'. The first case where this maters is probably binary where '2' does not exist, but that's hardly the only time 1+1 != 2.


Its funny how quickly the argument devolved into an argument over how (or even whether) 1 + 1 = 2


It is not a devolution. The discussion whether 1+1=2 is a definition, an axiom, or a theorem is very similar to the discussion of "0^0=1". In each case we are looking at different way to construct a useful mathematic out of different sets of definitions and axioms. Regarding 0^0 there is no clear winner, as - like the blog shows - there are many incompatible advantages one would get from 0^0:=1 or 0^0:=0. With "1+1=2" there is no controversy, as the many different definitions or axioms essentially result in the same nomenclature.

But as an example of a rather unintuitive result regarding "1+1" look at the field F_2 (or GF(2)). It has two elements, 0 and 1. So when I'm writing "1" or "0" I am referring to these elements. Nonetheless with a typical definition used in many branches of mathematics I define 2:=1+1, 3:=1+1+1,… In F_2 the addition operation is defined as 0+0=0, 0+1=1, 1+0=1, and… 1+1=0. I thus get 0=1+1=2, 1=(1+1)+1=3, 0=((1+1)+1)+1)=4. Note that this is essentially calculation mod 2. But whereas outside of algebra this is often seen as a different set of equalities ("1+1≡0 mod 2") in algebra F_2 is just another field alongside of the rational, the real and the imaginary numbers.


There are a couple of ways to define this part of mathematics, I believe I have seen some definitions that do in fact define `1 + 1 = 2`


This is not true. A very natural way to define a^b is as the number of functions for a set with "b" elements to a set with "a" elements. In this case there is exactly one function from the empty set to the empty set, and we have proven 0^0 = 1. This is no different than defining addition and then proving 1+1 = 2.


I prefer thinking about 0^0 = 1 as an empty product (https://en.wikipedia.org/wiki/Empty_product), since it generalizes nicely to any operation with an identity element. That is, if you apply any operation zero times, the result is that operation's identity. It's interesting that the analogous empty sum, 0*1 = 0, is a complete non-issue.


But here's your problem:

infinity * n = infinity, right?

0 * n = 0, right?

0 * infinity = ?

Ok, this is relevant here particularly because:

Lim 1/x as x -> 0 from the positive side is infinity, right?

So 0 * that is.....

lim 1/x as x -> from the negative side is negative infinity, right?

So 0 * that is.....

That's why 0/0 doesn't work as such. You don't know how 0 is derived or what it means. If we have x^2/x, and take the limit as x -> 0, we get 0. If we take x/x^2 and take the limit as x -> 0 we get +/- infinity.

But that doesn't mean that x/x or x^2/x are not continuous functions, any more than 1 or x are not continuous functions.


You are conflating the limiting behavior of a function with the value of a function. In (standard) analysis, there is no actual value called infinity - it's just used to describe how a function behaves arbitrarily close to a given value.

When you have a 0^0 limiting form (or 0/0, or 0 * infinity), the function's behavior is indeterminate. The "0" and "infinity" you're looking at aren't precisely 0 or infinity, but only arbitrarily close. The actual behavior of the function depends on the expressions that approach 0 and infinity, hence `x/(x+1)` and `x/e^x` having different limiting behaviors as x increases without bound.

But if you are literally considering the function at a specific point which produces a so-called indeterminate form, the answer is simpler. In some cases, the function is undefined (e.g. 1/x where x=0). In the case of 0^0, there is a precise value we can assign: 1. And this doesn't conflict with the 0^0 limiting form: the limit of a function at a point can be different from the actual value of the function at said point.

A quote of Knuth, taken from Wikipedia (http://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_powe...):

> Knuth (1992) contends strongly that 0^0 "has to be 1", drawing a distinction between the value 0^0, which should equal 1 as advocated by Libri, and the limiting form 0^0 (an abbreviation for a limit of f(x)^g(x) where f(x), g(x) -> 0), which is necessarily an indeterminate form as listed by Cauchy: "Both Cauchy and Libri were right, but Libri and his defenders did not understand why truth was on their side."


Regarding Knuth's point, that's a good one, since f(x) and g(x) are not necessarily the same.


There is a bit of conflation going on here - the notation a^b being discussed is exponentiation of real numbers (or complex if you'd like to extend it that far). Of course, that notation is what inspired a^b being used to denote the number of maps from a set with cardinality b to a set with cardinality a (and the notation A^B to denote the set of all maps from B to A), but set theory was developed centuries after the likes of calculus and other important developments that touch on the reasoning used in the article linked in the OP.


You're just pushing the arbitrariness of defining things one step further to the definition of a number. It makes it no less arbitrary that you've defined it and force us to accept the definition to get to your conclusion.


There is a very natural definition of numbers as sets. We define 0 to be the empty set and we define the successor function by S(x) = {x} union x. Then the natural numbers are the smallest set containing 0 and closed under the successor operation. This is the standard way to define the natural numbers within ZFC set theory.

This is admittedly very formal and not how the lay person thinks of natural numbers. However, it gets to the point of that although we may lie and say 0^0 = 1 is just a convention it is in fact a theorem within the system we work.


> within the system we work.

within a system we work. Which is the point. The system you are working in determines which value you use. You are more an algebraist than analyst.


Levying the "authority" of ZFC doesn't change the fact that your definition is still arbitrary. I'm certain you could pick a different definition of natural numbers within ZFC and get 0^0 = 0.


The given definition only tells you what natural numbers are; it doesn't directly tell you what 0^0 is. For that, the set theoretic definition of exponentiation was provided.

That definition is not arbitrary, but is an instance of the very general definition of exponentiation given in category theory. Accordingly, A^B is the set of maps from B to A, and for non-empty finite sets, the number of such maps is the number of elements in A raised to the number of elements in B. If you extend this to cover empty and infinite sets, you get the full definition of cardinal exponentiation, which has 0^0 = 1 and has other cute things like

2^(the cardinal of the natural numbers) = the cardinal of the reals.

There are a few obviously good properties about the given definition of natural numbers (the Von-Neumann ordinals), and one of them is that the size of each natural number is, well, that natural number.

    0 = {} and contains 0 elements.
    1 = {0} and contains 1 element.
    2 = {0,1} and contains 2 elements.
    3 = {0,1,2} and contains 3 elements.
And so on. For any definition of natural numbers which has this feature, you find that when you consider their category where morphisms are all the functions between them, then again, the exponential (in the category theoretic sense) is precisely the one expected in arithmetic, and 0^0 = 1.


A lecture on category theory and ZFC ignores my point.

To run with your example: why must a definition of natural numbers have to involve sets of certain cardinality? You're telling me that because some people came up with a more general definition for natural numbers after the fact, that makes one definition of natural numbers more 'natural' than another.

I claim you're just reinforcing my point: the definitions were chosen to make natural numbers a specific instance. Everything here is chosen in some way to further some goal (usually mathematical aesthetics), and eventually you get down to the bottom and what do you have? A bunch of definitions that one may choose to use or not.

So whether I want to impose 0^0 = 1 by fiat is equivalent to whether I want to assume enough foundations of category theory to prove 0^0 = 1 in that system. You (and mathgrad) are just under the spell that because there is a whole lot more mathematics floating around (and big words and important people working in those fields) it somehow makes the latter less arbitrarily motivated by a desire to make theorems work out nicely. It's certainly pleasing that it does, but that doesn't make it somehow deeper or more natural than a different formalization in which 0^0 = 0. It just serves a different purpose.

This is the entire point of the OP and the original comment: you can generalize the meaning of 0 and 1 and a^b to make it suit your need to express certain theorems and patterns, and that is a key part of the power of mathematics. Whether it's a "truth" or an "axiom" just depends on how far down the rabbit hole you're willing to go, and the distinction is irrelevant because as far as deciding what 0^0 should be they're equivalent.


I have no problem with the idea that mathematicians can improve on definitions and make them more natural, especially as they learn more abstraction.

And I don't think it was after the fact, or a generalisation of anything, to say that the natural numbers are the classes of sets with their own cardinality. It was the definition given by Frege, who I believe was the first person with the audacity to define something so primitive. And defining natural numbers in terms of their cardinality strikes me as entirely natural, once you have it that natural numbers are just the finite numbers you use to count stuff (i.e. cardinal numbers --- counting stuff by forming one-one correspondences).

Frege's definition is not the one given by mathgrad, because it doesn't work in ZFC. We can't use equivalence classes, so instead, we pick out canonical representatives of the classes, which is a good enough compromise.

That said, I don't think there is one definition of natural numbers to rule them all. I am personally quite fond of the Church numerals, where a natural number n is defined as the higher-order function which composes its argument with itself n times. I prefer the thought that what counting is about is the repetition of a single operation.

As for the rest, I am the spineless type of formalist who is happy to throw his hands up in the final analysis and say that all of mathematics is arbitrary. And so unlike the OP, I won't draw a distinction between 0^0=1, 1+1=2 or 0.999...=1. You can mangle all of these as much as you like, but so long as you keep the expressive power of arithmetic, you'll find an analogue of Turing equivalency to translate to the original.


I think this definition is somewhat non-standard for laypeople. Most people think of x^y to be defined as "x multiplied by itself y times" or something similar. By this definition, 0^0 is a convention/shorthand, not a truth.

I think the "functions from b to a" definition is useful to note too, though


That's a great point! Under that definition of a^b, 0^0=1 follows from the definition and is not itself defined. It's exactly the same as 1+1=2.

However, what I said is absolutely true for the definition of a^b that the author of the article is using. In that system, 0^0 does not follow from the definition, and must be defined itself (or not at all a la Cauchy). I should have made that more clear.


I agree that your definition is a very natural one, but I think your conclusion is mistaken. Defining a function in the same, set-theoretical terms (http://en.wikipedia.org/wiki/Implementation_of_mathematics_i...), a function is a subset of the cartesian product, and the Cartesian product of the empty set with itself is empty.

EDIT: I realize that you are right. The Cartesian product of the empty set with itself is empty, but it does have a subset, namely the empty set, which happens to be a function.

I'm not so sure this settles anything though. There is exactly one function 0 -> a for every non-empty set a and there is no function b -> 0 for any non-empty set b. Now you have to decide how to define a function to treat the case 0 -> 0. I'm no expert in set theory, but I would think this can be defined to be either without getting into any kind of trouble.


I think it's a little bit different. There are many natural ways of defining the expression a^b, which coincide when a and b are (say) positive integers, but there is basically only one way of defining 2 (namely, 1 + 1).


Look up Peano arithmetic to see how one proves 1+1 = 2 within the standard formal system.


Actually this gave me the idea: a^b is the number of mappings from set a to set b. Now, if set a is empty and set b is too, it is natural to believe that there are no mappings because there is nothing to map from or to.


A function is a relation for elements in a to elements in b such that for every element in a there is a unique element in b. This is vacuously true of the empty relation when a is empty.


I didnt discuss a function, I discussed a mapping. They are different constructs. Imagine the question like this: you have two groups of people, students and teachers. How many possible ways are there to assign students to teachers? To put it another way, how many arrows would it take pointing from the student to the teacher to illustrate every possible assignment? Now, if there are no students and no teachers, you have no arrows, not one.


So mapping is exactly a function, unless domain and codomain are empty, in which case it doesn't exist?

Empty set is as good and useful as nonempty ones, and you seen to have no problems with using them. Why do you find it hard to accept an empty function f: E -> X, where E is empty set, that doesn't associate any element of E with any element of X?


I am a mathematician I don't need examples. What is your formal definition of a mapping.

In mathematic it is normally used as a synonym for a morphism in a given category and in the category of sets this would be a function. So in our context a mapping is a function.


You're being obtuse. If you read what he was saying, it would be obvious that he didn't mean a formalized "mapping" and meant a binary relation. Instead of using this as an opportunity to evangelize maths and teach, you criticized him with a pretentious self-aggrandizing glory that Mathematicians already have such a bad reputation for.


> I am a mathematician I don't need examples.

Falser words were never spoken.


> I am a mathematician I don't need examples.

I gave the example not to teach you, but so that we could get away from terminology and get to meaning. Look at the question I posed: "how many arrows would it take pointing from the student to the teacher to illustrate every possible assignment?" So, if you have two students Alice and Eve, and two teachers Bob and Carl, there are four arrows: Alice->Bob, Alice->Carl, Eve->Bob, and Eve->Carl. How many arrows are there if there are no teachers and no students?


The number of arrows is |students x teachers|, every student paired with every teacher. From this you get a^0 = 0, but it also follows that a^b = b^a. This defines multiplication, not exponentiation. The problem is that you cannot illustrate the assigment where Eve is not paired with Bob using an arrow, but only by not using a one.


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.


> If you do not accept it as true (an explicitly accept it as false), then you can prove all of Hyperbolic Geometry

What is the equivalent in this analogy if you do not accept that 0^0=1 (i.e. accept that 0^0=0)?


This case isn't as exciting as the parallel postulate case; you're not going to get a whole new branch of mathematics, just a change in a lot of formulas/definitions/notations.

The example in the article is the binomial theorem. Another example is the definition of Taylor Series which defines 0! and 0^0 as 1 so that the series come out cleaner.

For reference, we use Taylor Series to define e, sin, cos and there's a really nice proof for e^(ipi)+1=0 using the Taylor Series for these three.


I think you break algebra if you start treating y = x^2/x as distinct from y = x, and the both the former and x/x have the same problem with x=0.

Edit:

As has occurred to me, you might actually have a point, in that x/x may be a continuous function, but so is 0^x, which gives you a different limit. So it may actually determine whether in context it makes sense to treat 0^0 as x/x or whether it makes sense to treat it as a limit of 0^x as x -> 0. This may be application dependent.

Edit2:

Ouch. 0^x can't be defined for negative numbers, so I am back to siding with 1 for reasons that any other answer breaks algebra.


y=x^2/x and y=x aren't the same thing though. The first is undefined at x=0, the second is not. How does this break algebra?


Because if you can't simplify, you can't treat them as the same, which is a fundamental premise of algebra.

I.e. the promise/premise of algebra is that if you take an equation, it remains equally valid when you add, subtract, multiply, or divide both sides by the same expression. If you treat these as distinct, then every division operation where you divide by a variable expression reduces the domain of possible answers.

This could have some very nasty corner cases where a division operation removes from the domain the answer you are looking for, and therefore renders an equation which could otherwise be solved undefined.

Hence my simple observation that in both algebra and calculus, we treat simplify equations before determining if they are continuous or not.

Here's a trivial example:

Solve for f(x) in the following equation (x + 2) * f(x) = x^2 + 4x + 4, where x = -2.

The problem you run into is that your first step is to simplify, so you divide both sides by x + 2, and therefore you end up with a division by 0 unless you are allowed to simplify before evaluating. Otherwise, you eliminate -2 from your domain and the answer is undefined. (The answer should be 0).


> "the promise/premise of algebra is that if you take an equation, it remains equally valid when you add, subtract, multiply, or divide both sides by the same expression"

No.

The promise/premise of algebra is that an equation remains equally valid when you perform valid algebraic operations on two equal quantities.

Division is defined as the inverse of multiplication. Multiplying by zero has no inverse, and thus, it is not valid to divide by zero. If you are in a circumstance where you want to divide to solve an equation, you must check to make sure you're not dividing by zero (and write a special case for any circumstance in which you might otherwise have divided by zero.)

> "Solve for f(x) in the following equation (x + 2) * f(x) = x^2 + 4x + 4, where x = -2."

The way you've written it, f(x) is undefined for x=-2. Any value I select for f(2) makes that expression true. Try it -- if f(2)=813, 0 * 813 = 4-8+4. That solution works.

You might prefer to define f(2)=0 because it makes f(x) continuous. But you have to define that value separately; you can't solve for it from the equation, because dividing by (x+2) is not a valid operation for x=-2. You could, alternatively, choose to define f(2)=7 or f(2)=-318 or any other value. Because you've written an equation that allows it.

That's the thing about mathematics. It's very carefully defined and very precise. Your inclination is to try to simplify first, but you're simplifying in a way that is not valid for x=-2 and thereby accidentally making an incorrect statement (that f(2) "should" be zero.) If you simplify properly, you'll see what ubercow said is true -- the solution is f(x)=x+2 except at x=-2, where f(-2) can be any number and therefore you have a continuum of possible solutions.


I don't really understand what you mean. You can never divide by zero. You can't treat the functions as the same because they are not the same function. It's not a fundamental premise of algebra that you should be able to.

The corner cases aren't nasty, you have to take care of them every time. Like with your example, the solution is f(x)=x+2, except where x=-2 where f(-2) can be any number. There are a continuum of solutions to the equation each with a different value of f at x=-2.


Can anyone recommend a really good book on mathematics that demonstrates the "beauty" of it? I'd love to really learn and understand about Fast Fourier Transforms and the like, but any book I have is from my old college days and is just so bloody tedious.

I used to really love maths when I was younger but it got beaten out of me by endless repetition and "now do Questions 1 - 50" tedium.

Now I get scared whenever I see the "summation" symbol.


I found abstract algebra to be really interesting. It kind of removes the concept of "numbers" and transitions it to operations on objects like sets or functions. You redefine operations like "addition" and "multiplication" to apply to these new objects, and see what happens. A whole bunch of interesting things fall out, many of them important to information encoding and error correction in practice.

For an example, see the concept of a Ring:

http://en.wikipedia.org/wiki/Ring_%28mathematics%29

Less directly related to math, I spent a joyous couple of hours back in college working through the Lambda Calculus wiki page, trying to every piece it. Once it "clicked" it became really fun to work through the examples.

http://en.wikipedia.org/wiki/Lambda_calculus

> Now I get scared whenever I see the "summation" symbol.

I'm not sure why, but I guess for me, removing the idea of "numbers" makes math suddenly fascinating. It's like dropping down a level to redefine what you thought was a well-defined concept (addition of numbers) as a generic operation for which numbers are simply one special case. Weird. :)


> book on mathematics that demonstrates the "beauty" of it

I'd say that you're asking wrong question. Yes, there're quite a few books intended to demonstrate the very thing you're asking for: beauty of mathematics. You are even likely to find some showcases interesting, might be somewhat beautiful. But essentially it won't be the same "beauty" that mathematicians see. It will be more like a thousand more-or-less scientific examples of how number φ appears in different places in our life, which isn't the essence of it obviously.

So if you're scared by "summation" symbol you're better to reconsider or forget about understanding "beauty of mathematics" forever. Because "beauty of math" is math itself.

About FFT: are you sure that you mean FFT? Because it's merely an algorithm to compute Discrete Fourier Transform. If you want to understand the Fourier Transformation itself, here's basic explanation: http://betterexplained.com/articles/an-interactive-guide-to-...

Anyway, here're some easy-to-read books about math considered good by various people:

  Hardy, "Mathematician's Apology"
  Hofstadter, "Gödel, Escher, Bach"
  Klein, "Mathematics and the Search for Knowledge" (he wrote many sci-pop books which I expect to be good, but I read only few of them, so I'll recommend only this one)
  Сонин, "Постижение совершенства" — a good one, but I don't know if it was ever translated to english, sorry


Agree, and you've basically described the concluding message in the last minute of this awesome video: https://www.youtube.com/watch?v=TINfzxSnnIE


Invented, obviously. ;)


Students: Let's come up with some crazy proofs based on our individual levels of understanding.

Teachers: Let's do it by the book and come up (somehow) with conflicting answers.

Mathematicians: Yeah, sorry guys. We made it all up.

Pretty much captures most mathematicians I know.


Well of course we made it up. No one handed us any stone tablets with 0^0 on them.

Mathematicians are always making definitions, and working out which of them should be kept and which should be discarded. We keep the definitions that make the most sense, that make our lives the easiest, that make theorems easy to state, that give math a sense of being natural. Indeed, in the early days of algebraic geometry there were big debates over which definitions to adopt.

It is like deciding on a convention when you design a new programming language. In this case, experience has shown that it is pretty much always better to say that 0^0 is 1 and not 0. Among other reasons, there is exactly one map from the empty set to the empty set.

But if you say 0^0 = 0, you don't get math blowing up in some big contradiction. You just get a little more kludge here and there, a few extra special cases of lemmas that have to be spelled out in more detail. Nothing too awful.


Definitions in mathematics are used to make the language describing abstract concepts elegant, as explained in the entry.

However, definitions aren't chosen all willy-nilly - there are good arguments why definitions are adopted, as should have been seen in the article.


My favourite algebra professor always said something to the effect of "we always have to be careful about abusing notation but if we make good choices of notation we can abuse it right." Definitions are sort of the same deal.


Sort of like how we use terse symbols for everything because ink and papyrus is expensive.


Not really. We have some very good reasons for using the definitions we use every day. Those reasons are more related to us than our technology, although our tech is getting so good that we already need to think about it. And by the way, people changed almost all the usual definitions at the XX century.

Now, mathematicians do throw the usual definitions away all the time. It's important to know when to reuse other people's coding, or roll your own.


And because if you're Isaac Newton and you're writing pages and pages of proofs, you naturally want to use a shorthand in order to save yourself time, energy, and from repetitive strain injury.


Correct me if I'm wrong, but I infer that you're using "we made it all up" as a pejorative toward mathematicians. Of course mathematicians invented the terminology, notation, and methodology, but that's not a bad thing. It's a great thing, just like it's great that engineers "make up" bridges, chemists "make up" pharmaceuticals, writers "make up" novels, etc.


Mathematicians are engaged in a dramatically different kind of project than almost any other human discipline. Mathematical details emerge from definitions, but they appear exactly the same way for everyone else using the same definitions. And what's really surprising is how robustly those purely rational results compare to messy empirical reality. There is no good reason to believe that this should be the case!

In most other human endeavors, when something doesn't work we just work until find something else that does work, and marvel at our ingenuity. Mathematics doesn't quite give you that option. There are right and wrong answers to questions that we create ourselves, but those answers are fixed once we ask the questions, even if we didn't know what they were.

One enduring mystery in this vein was whether or not Euclid's fifth axiom was actually a logical result of the first four: https://en.wikipedia.org/wiki/Parallel_postulate#History


I don't think the fifth axiom is considered particularly mysterious anymore. The traditional fifth axiom clearly isn't a logical result of the first four, since it can be replaced with other parallel postulates to yield non-Euclidean geometries which are themselves perfectly workable and consistent. In fact, that section of the Wikipedia article notes that Beltrami proved the independence of the parallel postulate.


> clearly

It's mysterious because it is only clear in retrospect. The fact that you can negate the parallel postulate and get a system that is still self-consistent is incredibly mysterious. This is what sets mathematics apart. We "make it up" like other human accomplishments, and yet we can't actually just make it up. If we arbitrarily defined 0^0 = π, we'd just be speaking nonsense.


It's not mysterious that negating the parallel postulate is consistent; you just have to divorce the axioms from their originally intended meanings, and realize that they apply to other objects besides those meanings.

It's kind of like this. A biologist independently discovers directed graphs, but refers to the nodes as "organisms" and edges as "parenthoods", and then spends five hundred years trying to prove that every organism has only finitely many parenthoods, thinking it must be true since it's obvious biologically! Without realizing that graphs are far more general and apply elsewhere.

Arbitrarily defining 0^0=π would not be speaking nonsense, it would just be speaking a little arbitrarily. Nonsense would be defining 0^0=rainbow


We are clearly into the http://en.wikipedia.org/wiki/The_Unreasonable_Effectiveness_... territory and why most mathematicians seem to be Platonists.


Not at all pejorative. In my experience, the odd thing about mathematics is that the people who seem to treat it the least seriously are mathematicians. Everyone else thinks of "math" as a set of immutable laws. Mathematicians are the only ones who can see & treat math for what it is: a set of human languages designed to interpret and communicate ideas.


0^0, like any indeterminate form, can be made to equal anything via sufficient cleverness. Consider the limit:

y = lim_[x->0] x^[a / log(x)]

We have log y = lim_[x->0] (a / log(x)) log(x) = a. So 0^0 equals any number at all! Of course, nobody in their right mind would define exponents this way, but the indeterminacy is inherent in the definition of the symbols.


How does your definition align with x^y in the case x!=0 or y!=0 ?


The real problem here is that x^y is a single shorthand which refers to a few fundamentally different mathematical concepts (which happen to have significant overlap with each other).

First, it refers to a function f:C x N --> C, defined in terms of repeated multiplication. f(x,0) is 1 for all x != 0, and so we adopt the convention that f(0,0) is also 1.

But it also refers to a function g:C x C --> C, defined as g(x,y) = exp(y log(x)), which has a branch cut on the negative real axis of the first argument and an essential singularity at (0,0), and so g(0,0) is necessarily undefined.

The value of 0^0 depends entirely on what sort of mathematics one is doing at the time, and therefore which function one is referring to.


But if you define 0^0=1 in general, it doesn't cause a problem here -- that definition never disagrees with x^y=exp(ylog(x)), it just defines it at the point 0^0, while the latter leaves it undefined. In other words, it's possible to make a common extension of the two; they don't actually give different values in any case.

Of course, doing this makes exponentiation discontinuous at (0,0), but seeing as it already had an essential singularity there, this isn't really a loss.


Right, but when you're working with the function on C x C, it doesn't really add anything either to arbitrarily pick 0^0 = 1, except for consistency with that other function that happens to be written the same way.

I'm not really opposed to saying 0^0 = 1; it's the only reasonable choice if we're going to insist on using the same notation for these two functions, and I don't expect that's going to change.


In fact, exponentiation f : C x N -> C has a natural generalization to any monoid C, where f(x,n) is x "multiplied" by itself using the monoid operator n times. In this setting, the only sensible choice is that x^0 = 1 for any x, where 1 is the unit of the monoid in question. In particular, that is the only definition of exponentiation which is parametric in our choice of monoid.

Naive Haskell example code (using Int for Nat):

    f :: Monoid m => (m,Int) -> m
    f (x,0) = mempty
    f (x,n) = x `mappend` f (x,n-1)
    -- or equivalently
    f (x,n) = msum (replicate n x)


I'm not a mathematician, but this seems the most reasonable/believable answer I've heard. The last sentence especially.


I'd like to add x^y is also used other contexts - e.g. for cardinal numbers and ordinal numbers.


Absolutely; I certainly didn't intend that anyone take my list as exhaustive.


- "0^0. Why? Because mathematicians said so. No really, it’s true."

- [Detailed explanation of the tradeoffs involved in choosing different definitions of exponentiation.]

So, it's not "because mathematicians said so", it's because of a deep review of the tradeoffs of defining how exponentiation generalizes, the kind of thing that mathematicians happen to study more than other identifiable groups.


It is still a "said so" because it is a definition. Even if thought went into the definition, it doesn't make any less of a definition.


That's why we trust mathematicians' say-so on the topic. :)

(Well, and because they can justify it, of course.)


A word from Knuth on the matter (warning: PDF):

http://arxiv.org/pdf/math/9205211v1.pdf

See page 6.


Why link to the PDF? Better to just link to the abstract: http://arxiv.org/abs/math/9205211

Edit: To be clear, this is good practice when linking to arXiv in general. From the abstract, one can easily click through to the PDF; not so the reverse. And the abstract allows one to do things like see different versions of the paper, search for other things by the same authors, etc.


I really like that Knuth paper: the Iverson bracket in particular is some really handy notation. Mathematicians would do well to spend more effort on notation. Currently it doesn’t seem nearly as valued as theorem proving, but in my opinion it’s just as important, because it defines how we think about the structures we’re working with.

I think computer programming would actually be quite excellent exercise for a mathematician, because it involves such heavy intimate experience with the problems of naming things, working with notation, and defining the boundaries of various abstractions. From kindergarten up through the end of an undergraduate degree, mathematics students mostly take existing notation and definitions for granted, and don’t get much hands-on experience with the problems which result from inventing bad notation or bad names. As a result, they have a less visceral understanding of the importance of good notation and good names.

[I also think programming students should spend at least a bit of time working with as many different abstraction styles and notations as they can, as well as e.g. trying to implement new toy programming languages with new semantics.]


Are PDF warnings relevant anymore? Of late Chromium and Firefox display PDF natively, sandboxed(?).


There are browsers that are not the desktop versions of Chrom(e/ium) or Firefox, and which are widely used.


On Android, both Chrome and Firefox still open an external tool and ruin your back button.


I expect it has more to do with filesize.


Nobody says 'warning, images' and most pdfs are pretty lightweight. This one's 200KB.


I feel like in discrete mathematics (especially combinatorics), since we don't use continuous functions, it's useful to say 0^0 is 1, along with 0! = 1, and so on. Makes a lot of things around Binomial theorem and the like easier. I'm not so sure if it's safe to use that when doing and calculus proofs or anything along those lines, but there, you have more useful tools for dealing with limits that might approach 0^0.


0! really is 1 in a much more reasonable sense. The empty product is the multiplicative identity. The continuous notion of ! also agrees: http://en.wikipedia.org/wiki/Gamma_function


And it's far easier to prove: 1!=1, (n+1)!=n!·(n+1), thus 0!=1!/1=1.


Missing Q and A: But if mathematicians insist it is 1, why do high school teachers act like they know more than the mathematicians do?

A: They don't. The statement that mathematicians uniformly say it is 1 is simply false. My high school teacher had a PhD in math, I think it's fair to say she was a mathematician. And yes, she said it was undefined.


I thought "most of the time" was implied in these sorts of things by now. And you will note the mathematicians don't "say it is 1"... they say they are choosing to follow the convention of defining it as 1, with reasons listed below.

I could come up with whatever crazy definitions in math I wanted to, and sometimes even get useful results. However, this view is not... convenient for teaching, so they pretend that you are learning "math", as opposed to "a particular math".


>"The statement that mathematicians uniformly say it is 1 is simply false"

Not really. No serious mathematician would dispute the fact that for every real x, e^x=sum(n=0 to infinity)x^n/n!.

But the above fails at x=0 if we don't define 0^0=1. So even mathematicians who claim to not use 0^0=1, can almost always be convinced to admit that they do indeed use 0^0=1, using the Taylor series for e^x.


Often teachers (esp high school teachers) don't have the time to give the same kind of in depth analysis of the tradeoffs.


I think it might be better to say it's indeterminant.


No, because there's no such thing. Either we can define 0^0 to have a value, or we can not do so. Either way, there's no separate option "indeterminate" that is different from "undefined".

Now, it's common to teach in calculus classes that 0^0 is one of the "indeterminate forms", along with 0/0 and so forth, which, so the story goes, is a different thing from being undefined, like 1/0. Since, after all, if f(x) approaches 1 and g(x) approaches 0, then the limit of f(x)/g(x) is undefined, whereas if f(x) and g(x) both approach 0, then the limit of f(x)/g(x) cannot be predicted in advance. So 1/0 is undefined, but 0/0 is indeterminate.

Now this certainly is getting at a real distinction! But it's not a distinction between the value of 1/0 and that of 0/0; both are undefined. "Indeterminate" is not some separate actual value. Rather, they are getting at the distinction of the behavior of the division function near the point (1,0) vs. how it behaves near the point (0,0). Not at the points! At both those points, the function is not defined.

And similarly with 0^0. Of course, it's pretty common to define that 0^0=1, and it's a definition I'd agree with -- but this is not inconsistent with the calculus teacher's statement that 0^0 is "indeterminate", because the latter (once made sense of) is not really a statement about the value of 0^0 at all; it's a statement about how the exponentiation function behaves near the point (0,0) (not at it; at it, it's equal to 1, or at least by my definition it is, at any rate).

In short, there's no such value as "indeterminate"; the calculus teacher's "indeterminate forms" (as opposed to "undefined"), while getting at a real destinction, is not actually about the value of the function at the point at all.


You may be confusing terms from calculus, where the label "indeterminate form" is given to 0^0 when encountered in a limit.


Are there any examples where the x^0=1 definition turns out to make other definitions more complicated to write down? For example, you'd have a general definition and need a special definition for when you get an exponent that equals 0.


Suppose you want a compact, clever formula for the function: f(x)=1 if x!=0, f(x)=0 if x=0

If 0^0 were defined as 0, you could write the above function as f(x)=x^0.

With 0^0 defined as 1, you're forced to write something like f(x)=1-0^|x| (absolute values to avoid division by zero), a bit more complicated.

This is silly though, and of no importance anywhere.


I find it a bit disappointing that the article considers only limits that would justify "0^0 = 0" and "0^0 = 1". In fact, the termin "0^0" as a limit can reach any value - the same way as "0/0" can reach any value.

Im stressing this because back in school, I really thought that although 0^0 is undetermined, it can only reach exactly 0 or 1, but nothing else. This is of course wrong, but no teacher was able to tell me why. For some time I even thought I found a new theorem and tried to prove it. Later, I told some math guru about this, he thought about a minute, and told me two functions f(x) and g(x) whose limit is each 0, but for which the limit of f(x)/g(x) is 2 (or any other value, if you adjust f(x) and g(x) accordingly).

Having said that, in most cases "0^0 = 1" is a useful convention, especially in a purely algebraic context when polynomials are involved.


This question doesn't have an answer because, as this post suggests, the meanings of the first 0, the second 0, and the (^) are overloaded. The reason mathematicians don't mind the overloading is that they all have "kind of" similar meanings.

So we can talk about a recursively defined function on naturals where it's convenient to "define" 0^0 = 1. We can talk about various kinds of limit techniques in the reals where 0^0 is not actually a value but instead a shorthand for a particular kind of limit.

This probably forms the most interesting notion of what 0^0 means where we define it as the limit of a particular kind of path in the complex plane and then notice that 0^0 can take any value we choose---depending on exactly what path was taken to get there. [0]

[0] http://en.wikipedia.org/wiki/Complex_logarithm


For the continuous use cases, it helps to look at a graph:

http://www.wolframalpha.com/input/?i=y%3Dx%5Ex


This is exactly why you have things like 0! = 1, 0 choose 0 = 1, 0^0 = 1, the empty sum is 0 and the empty product is 1, and so on. These are DEFINITIONS and they make notation easier. They basically help the flow of mathematics. It's often difficult to watch someone try to explain "intuitively" why some of these things are the way they are and completely miss the point that they are like this because they help make other things easier.


I have a problem with this part of the explanation:

>However, this definition extends quite naturally from the positive integers to the non-negative integers, so that when x is zero, y is repeated zero times, giving y^{0} = 1, which holds for any y. Hence, when y is zero, we have 0^0 = 1.

When y is zero, don't we have 0^0 = 1 x [y zero times]? Maybe I'm conceptualizing it incorrectly, but I'm envisioning an empty space where y would be, akin to an empty set. 1 times an 'empty set' is _not_ 1, it's one empty set, which rubs me as another way of saying nothing/zero, not 1.

I know my language is imprecise and I'm probably describing empty sets and the definition of zero incorrectly. The point is that the last step of his explanation doesn't sit right with me. Just because Y exists zero times does not mean you can just throw it out of the multiplication.


Another convention is that the empty product is 1, and this is precisely what is being said by putting the 1 out front.


Had a set theory professor who taught us that for the non-negative integers, m^n was just the number of unique mappings from a set of cardinality n to one of cardinality m. Ergo, for all sets A such that |A| = k, k^0 is just all mappings from Ø, which is necessarily the one with empty image and pre-image. So 0^0 = 1.


While high schoolers try to prove their own intuitions about their understanding of exponents (intuition drilled into them through rote learning), mathematicians just say "we defined it that way".

It speaks to the tragedy that is the high school math curriculum.


I did not encounter this convention while working on my math degree. I am surprised that none of the characters in the article said "0^0 is nothing, but limits of the form 0^0 can be any nonnegative real number or infinite".


Yes, you did. It may not have been stated explicitly, but it was implied in a couple places:

1. Binomial theorem. Its statement does not conventionally include any caveats about the x^0 case.

2. D(x^n) = n x^(n-1). When n = 1 and x = 0, you get a 0^0 on the RHS. If 0^0 is taken to be 1, the derivative rule holds. Else, the statement gets messy: D(x^n) = n x^(n-1) if (x,n) != (0,1)


That's a rather long text to say "it's an arbitrary -- and conveniently chosen -- definition of a special case of the power function similar to how 1 is not prime". I also think the presentation was chosen poorly: lots of wrong information before the correct approach is presented.

Wikipedia is probably a better source here: https://en.wikipedia.org/wiki/0%5E0#Zero_to_the_power_of_zer...


I love Wikipedia. It's amazing. It makes the world a better place. I'm a pretty decent programmer. I do video games so I do lots of 3d math. I'd say I'm decent at that as well.

I hate Wikipedia for math. Absolutely hate it. Unless you are a mathematician by trade Wikipedia is damn near useless for learning new math concepts. I don't even bother checking it anymore.


I had an idea for a couple of years now of creating a wikipedia-style mathematics textbook that will be crowd-sourced, standardized and cover all of math in a way that's accessible to learn from on your own. It would have a kind of a zoom function where you can expand details on explanations and calculations to a depth that you prefer. Ideally this kind of thing would start off with basic math and get progressively further into mathematics like the roots of a tree.


That is not a bad idea at all.,, It will be a lot of work but it could be done. Crowd sourcing might lead to the wikipedia-style schizophrenic-author voice of writing, though. See [1] for a prev discussion.

Interestingly, if the book is organized so it is aligned to the common core math standard[2], it would make a killing in the US market since current textbooks are so bad.

[1] https://news.ycombinator.com/item?id=7456397 [2] http://www.corestandards.org/Math/


Your "basic" in basic Math means "foundational", or "what we teach to children"?


That's a good question. In the spirit of making learning easier it would perhaps "start" with what we teach children. However, that might be ultimately misguided because that would just mimic the curriculum and force the whole thing into a box. But then again the math knowledge itself forces a structure on any such textbook because to know A you need to know B, C, D, etc.

This is further complicated by the fact that most subjects in math can be approached from multiple equivalent angles. For example, complex analysis can be taught from the complex derivative perspective or from the power series perspective equally well. Ideally the format of the whole thing will allow the student to naturally learn things from the angle they understand better.


I would be really interested in following and/or contributing to this project.


[deleted]


I disagree. There are math concepts that I've found impossible to pick up from wikipedia but can easily be learned in 5 minutes by having a conversation with someone who already understands them.

Honestly this article in question is a perfect example. I'd wager than almost everyone who reads Hacker News can read the blog post and understand every single step from start to finish. The same can not be said for the Wikipedia article.


For questions about mathematical correctness I highly prefer wikipedia. To me it's far more specific and clear, while the original article makes rather short work of proofs.

When it comes down to questions that involve first principles, I would much rather have rigor over a less time consuming but potentially wrong understanding of the material, and wikipedia does quite well in providing that rigor.


I have also found Wikipedia to be a convenient math reference, but it is not always the "best" that is easily available on the internet. If I'm looking at a topic, it's usually fruitful to Google "introduction to X theory" and go through a few possibilities to find a literature review. Often there is a review which is a good "companion" to the Wikipedia article in terms of explanation, since the style will be different and you get some breadth of perspective.

>that that's attributable to math being hard

(an easily underestimated property of mathematics)


In no way was wikipedia better, it was confusing and basically incomprehensible unless you already understood the material.

His presentation was much better because it leads you to the answer instead of dropping it on you from the sky. (The difference between learning by rote vs learning by understanding.)


Amusingly, Wikipedia cites this very webpage from the OP.


My experience has usually been that Wikipedia is an abysmally bad tool for learning mathematics. The articles seem to be written by someone who has zero clue how to teach the concepts and merely is trying to wow the reader with their proof-writing skills.


That is because the majority of Wikipedia's math articles are actually from Planet Math, a website full of math knowledge similar to MathWorld that is geared towards mathematicians.


That's because Wikipedia isn't a tool to learn mathematics. Wikipedia articles (on anything) are not meant to teach about a subject (in the sense of schooling) but rather to give an exposition of a subject. It is considered to be very bad style on Wikipedia to write articles that try to teach the reader as a textbook or a class would.


Interesting article. I ran across a problem yesterday that was similar to P(x)^Q(x) = 1, which then asked me to find the sum of the solutions. I noticed that both P(x) and Q(x) share a root at some a. But I realized, 0^0 is most often defined as 1, and carried on. Checking the answer key later on showed that they chose to neglect that a, and call 0^0 undefined. I'm not sure how I really felt about it.

Note, I also forgot to check when P(x) = -1, assuming that Q(x) is even there ;P


I think that the most intuitive way to get the idea of why 0^0 = 1 is to take the example from combinatorics. n^k is the number of distinct sequences for the sampling with replacement and ordering (for example ball picking from repository of n different balls and counting the number of distinct ways that k balls can be picked and ordered - with replacement). I think that there is only one way of ordering results of drawing zero balls from a set of 0 different balls :)


I love math, but I have never really enjoyed these types of debates.

I guess I have always been drawn to the application of the concepts in the real world rather than the abstract beauty of it.


I understand the "math"...the numbers...the work on paper. But how does that translate to something useful in the real world? That, after all, is what useful math helps us do...solve problems for the real, tangible world. Saying that 0^0 = 1 is a cool math game; but translate 0 into something in the real world (i.e. nothing, none, etc.)...and trying to make something out of it other than 0 or "indeterminate" starts to make less sense.


From the article's example the simplicity of the binomial formula is extremely useful compared to a formula that would have to account for the case where k=0. Another commenter pointed out the useful elegance of 0log0=0 for physicists. These are the real world applications for mathematicians choosing definitions directly. Saying that an idea may be defined in many ways is correct, but choosing a working definition for the system helps to apply the definition to appropriate concepts. This is what mathematicians are doing when choosing a specific definition instead of saying that any definition will work.

One could argue the entire field of Real Analysis was formed because Calculus showed the world that we didn't really have those definitions, but they were needed. There are cases where the integral of the derivative does not equal the derivative of the integral (violation of the fundamental theorem of calculus) without having a specific epsilon-delta definition of limit.

Also, zero is not always the same as nothing or none. Zero is an abstract number that some have decided is useful to represent nothing or an empty set, but really comes from an abstract idea that you can count nothing and have a number. This goes back to the fact that numbers are pretty useful ideas regardless if you may consider one of them a function or not.


Supporting your final paragraph: the concepts of nothingness, emptiness, absence, etc. are all much older and more universal than mathematical zero.


> But how does that translate to something useful in the real world?

I think this is a by-product of the way we are taught maths at the very start; that it must somehow relate to real things. We start our understanding of maths by using real world objects like apples and we show how addition works and subtraction. I think perhaps it sticks in our head that everything must somehow relate to real objects and the real world.

We somehow get past that when we are introduced to things like square roots and integrals and higher mathematical concepts, but even with those we often try and relate them back to the real world.

I wonder of there are other ways to start teaching maths that doesn't start by using balls or apples? How would that work?


Square roots and integrals both relate back to the real world...


Perhaps not really great examples - I mean you can relate to the length of a diagonal line in a square room, but you can't really relate to the square root of three apples, can you? I'm not trying to say that those example don't relate to the physical world. My point is we abstract more and more away from the "real world" until you get something like this post. What about complex numbers - the square root of -1, incredibly, is useful in electronics and other real physical systems, but you cannot really relate it to physical objects - or at least not obviously. Or more incredibly something like Banach Tarski [1].

[1] https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox


The strongest value of math is the most consistently efficient approach for solving non-trivial abstract problems, not necessarily the answer to the question solved by the article. This is due to understanding how to probe a problem, experiment with possibilities, and repeat in a logical manner until you strike gold - it is a skill that is applicable in just about every walk of life.


What is "^ 0" in general, that it "makes" 1 "out of" 2, 3, 4, etc?


using the definition in the article where X^n = 1 * X * X ...

x^2 = 1XX x^1 = 1*X x^0 = 1


Yes, for sure. My question was rhetorical, trying to drive intuition away from "But I'm starting with a zero, how do I get anything else?"


Perhaps a related question: How should it be defined in a math library for a programming language? Should it return 1, or throw an exception?


In JavaScript, Math.pow(0, 0) == 1.

In Python and Ruby, 0 asterisk asterisk 0 == 1.

In Windows Calculator, 0 [x^y] 0 == 1.

So I guess the consensus is that you should return 1.


Math libraries (and language standards) should follow the guidance in IEEE-754 unless they have a very good reason not to do so.

"pow(x, +/-0) is 1 for any x (even a zero, quiet NaN, or infinity)."

"pown(x, 0) is 1 for any x (even a zero, quiet NaN, or infinity)."

- but -

"powr(+/-0, +/-0) signals the invalid operation [and returns NaN]."

"pown" refers to the function on R x N defined by repeated multiplication; "powr" is the function on R x R defined by exp(y log(x)). "pow" refers to the mental hodgepodge of the two that most people intend when they write x^y without really thinking about it.


Mathematica (or do we call it Wolfram Language now?) evaluates 0^0 as Indeterminate and warns: `Power::indet: "Indeterminate expression 0^0 encountered."`


Why is that even a question? It should return the correct answer, of course.

Edit: At the very least, that behaviour should be a configurable option for those who desire something other than what most mathematicians accept as being the correct answer.


The whole point of this is that there isn't necessarily a single right answer. As another user pointed out, mathematicians define 0^0 to be 1, but you don't necessarily have to accept that as truth in the way that 1+1=2.


If the calculator is powerful enough (as in the case of Mathematica) to evaluate Taylor series, for example the Maclaurin series for e^x when x=0, then in doing so it implicitly admits 0^0=1. If it simultaneously says 0^0 is not 1, then the calculator is inconsistent. (Mathematica IS inconsistent in this example)


0 ^ any positive power = 0

0 ^ any negative power = 1/0 = undefined = +- inf

So strictly only the right limit as n --> 0 of 0^n = 0. Not the limit.


0 is not defined as 0 * x = 0 - that is a derived formula. 0 is defined as the additive identity, i.e. x + 0 = x = 0 + x. It is a unique number.

0 * x = 0 is proven by noting that 0 * x = (0 + 0) * x = 0 * x + 0 * x (distributive property) and then subtracting the additive inverse of 0 * x from both sides to get that 0 = 0 * x.

However, this says nothing about 0^0, and one cannot talk about 0^(-n) for natural number n since 0 has no multiplicative inverse.

Also your argument on limits is not correct - you chose a particular path of approach for the expression y^x fixed along y = 0. Looking at another angle, the limit of x^x as x approaches 0 is clearly 1 as reasoned in the article, so this causes a clear disagreement here since you can argue for different values to make sense by tweaking the path of approach of the two dimensional function y^x appropriately.


Although standard mathematica notation glosses over the difference, it's important to distinguish between the following two versions of the power operation, which I'll call pow1 and pow2: pow1(x, y) = x^y where y is any integer pow2(x, y) = x^y where y is any real

The value of 0^0 is 1 for (pow-a) and 0 for (pow-b).


But lim x->0 (x^x) = 1. Why should 0^0 be 0 then?


To me the matter looks similar to taking the conjunction of the empty set, which is defined to be TRUE. This, however, starts to make sense when you see that the taking the conjunction of a set X can be interpreted as "forall x in X, x is TRUE". If X is empty then this statement is trivially true.


Can anyone explain why this is a valid operation? http://wp.com/latex.php?latex=\lim_{x%20\to%200^{+}}%20x^{x}...


it's using log to mean log base e, also known as the natural log or ln. you can do that because they're inverse operations (I think that's the right term for it, it's been a while since a formal math class) so they undo each other


Yes. It's an identity relationship. x = exp(log(x))

http://en.wikipedia.org/wiki/List_of_logarithmic_identities#...


Thanks!


"...they boil down to that choice being more useful than the alternative choices, leading to simpler theorems, or feeling more “natural” to mathematicians."

Along these lines, my preferred definition of the natural numbers" is "the set of all the positive integers and, when convenient, 0".


I don't get what the big deal is. I put 0^0 in Windows Calculator and it gives me 1 ... problem solved!


It also plays nice with the convention of 0log 0=0, used in for example formulas for entropy.


It's perhaps more than a convention because this is also the limit that the function x log(x) naturally takes as x approaches 0 in the domain of the logarithm. Well, this is just a rehash of what the "cleverest" student does anyway.


Why? With the x^0=1 definition, wouldn't log 0 be undefined?


0 log 0 = log (0^0) = log (1) = 0


My favorite explanation:

y^x is the number of functions from a set with x elements to a set with y elements.

Since there is only one function from the empty set to the empty set, namely, the empty function, we get that 0^0 = 1.


I read upto "High School Teacher"... skimmed through "Calculus Teacher"... and scrolled through "Mathematician"...


Mathematics is about generalizing concepts and principles to ever larger domains.

In this case, x^y is defined for all pairs (x, y) of real numbers except (0, 0). The question is what limit is "closer" to the set of outputs in the neighborhood of (0, 0) than any other.

0^x is defined for all x except 0, and same for x^0. We can define 0^0 as the limit of one or the other as x goes to 0. and one is constant and more "stable" than the other, so it is typically taken to be that, i.e. 1.

Up next ... if P(X) = false, what is "P(X) for all X in Ø"?


Correction: x^y is defined for all pairs of real numbers with x!=0. 0^x is not defined for negative x.


Another good reminder on how math itself is arbitrary and made up by humans (often for what's simplest/easiest), and not handed down to us by God. Luckily it's an extremely useful and extendable made up system.

I see this all the time with AI/machine learning. Most algorithms are based on assumptions that make the math work out better rather than being aligned with some "fundamental truth." The world is not linear, but it's much easier to approach it as if it were!


This is a problem of definitions. The definitions are arbitrary and are chosen to make the life (of the mathematicians) easier. It’s easier to write a lot of results if we define 0^0=1.

On the other hands, he proofs express a fundamental truth and are handed down to us by God (or whatever deity you believe in).


The definitions only decorate the truths. By unwrapping the definitions, the truths can be expressed using just the barest predicates and function symbols of the background language, and logical operators. Whether you define 0^0 to be 1 or not doesn't change the unwrapped truth.


I don't think math is arbitrary at all.


It is. We invented the arabic numerals because they were easy to draw and we could written any numbers with them. Just like we invented higher lever computer languages instead of using assembly.

See what Fibonacci used to say in his first book Liber Abaci about using arabic numerals. http://en.wikipedia.org/wiki/Liber_Abaci


The symbols we use to represent math are arbitrary but that doesn't mean the rules behind them are. Many concepts in math are fundamental truths.


There are an infinite number of fundamental logical truths out there, but we arbitrarily picked useful ones to make a system of math.


I don't think you all are familiar with what "arbitrary" means. That is the error I am pointing out.


Picking the useful ones is the opposite of arbitrary.


There's an infinite number of potential 'useful' ones too, and we picked some, could have picked others.


Exactly.


But if you're unlucky, you pick a set of axioms that makes the whole system inconsistent, which means that you can prove anything, which means that the whole system is useless. To say that it is purely arbitrary is in a sense right, but it seems to undermine the care that you have to go through in order to be reasonably sure that the system is not set up to fail.


What exactly do you mean by fundamental truths here?

Mathematics is an internally consistent (for the most part) logical framework that is extremely powerful in expressing our knowledge about the world.

However, that doesn't mean that there is some intrinsic correctness about it or its concepts.


If I have three objects and you give me two more then I'll always have five objects. You can call it cinco or 五 but there are still five of them.

Likewise, you'll always be able to determine the length of the hypotenuse of a right triangle by its two legs. No matter what system you set up, if you're cutting three boards to build a triangle the length of the big one is absolutely defined by the length of the other two, assuming Euclidian geometry. The symbols (a, b, =, c, +, superscript 2) are all totally arbitrary but if you're working with three boards there is absolutely an intrinsic correctness to the Pythagorean theorem.

There are branches of math which are just exploring the internal consistency of the system we've set up but much of physics is spent describing the real world and applying our math symbols to the universe. The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true! I would argue that all of physics is basically "math that's a fundamental truth of the universe".


The fact that you count something as an object or see the world in discreet terms is also similarly arbitrary. You could see "objects" as something that's more interconnected and thus would count them differently. If we were far smaller and "looking" at things on an atomic level, putting that grouping together would not be quite as likely. And even still, you're focusing on the "discreet" positive space versus the negative space.

There are many ways to view the world that also would create its own system of abstraction and eventually "come out to be true." You're just used to one particular variety and it's all you know, so you call it the truth.

Oi vey, engineers. Everything is so 1D.

I HIGHLY recommend reading this to understand a bit more about how differently the world can be understood given just your culture alone (read: its all arbitrary): http://www.amazon.com/Women-Dangerous-Things-George-Lakoff/d...


> No matter what system you set up, if you're cutting three boards to build a triangle the length of the big one is absolutely defined by the length of the other two, assuming Euclidian geometry. The symbols (a, b, =, c, +, superscript 2) are all totally arbitrary but if you're working with three boards there is absolutely an intrinsic correctness to the Pythagorean theorem.

This is only true because we are assuming Euclidean geometry, and as I had said earlier, this implies that we can logically conclude these facts because mathematics is logical and internally consistent given these axioms, so we cannot say that they are intrinsically true; that would require us to know without a doubt that the axioms are correct. Since we can use Gödel's incompleteness theorem to show that our axioms are necessarily assumed, we can say that we do not know if they are correct or not, only that assuming they are, we can make a lot of really good predictions about the world around us.

> The amazingly cool thing is that our system is so good that we can use our abstract symbols to make predictions about physical laws and they actually come out to be true!

This is definitely amazing, however it does not mean that our system is necessarily correct, in fact it is demonstrably lacking in Quantum mechanics for example, where we need to renormalize infinities, which makes almost no mathematical sense whatsoever, but we do it because our experiments tell us that if we do, we can make predictions about how things work.

> I would argue that all of physics is basically "math that's a fundamental truth of the universe".

I agree with the spirit of what you are saying here, but think I would phrase it in the following way: I would argue that physics is basically fundamental truths about the universe that we can describe to the best of our ability using an abstract framework such as math. The fact that we can do that does not mean mathematics consists of these fundamental truths.

EDIT: Modified last paragraph to be slightly clearer.


> It is [arbitrary]. We invented the arabic numerals because...

Then it's not arbitrary; chosen at random or on a fleeting whim, without reference to a reason or system. It was invented to fill a specific need based on certain limitations.


But it is arbitrary; subject to individual will or judgment without restriction; contingent solely upon one's discretion.


I doubt many people would agree that you were doing maths if you made your rules and symbols up randomly.

It's true enough that mathematicians define certain things certain ways, but they generally have reasons for doing so that tie into other aspects of whatever system they're working within at the time, or with particular areas of investigation: 'If I alter this rule, or make this assumption, what does it do to the system as a whole? Does it let me find some answer more easily than another way? Does it preserve consistency/truth values? Under what conditions?'

That's far from being dependent solely on their individual whim, the decisions they make in that regard, and the answers they will get, are strongly influenced by the form the system has taken and it's uses and limitations.

Of course if you want to maintain that maths as a whole is arbitrary because you could make whatever you liked up and say you were doing maths... well, I won't argue you're not, but it seems to me you've made the objection general enough that it could safely be ignored. Anyone doing something purposeful could simply assert: 'Your's, maybe. We're trying to do our-maths-goal.' And move on.


I do think there is some "fundamental truth" (whether it was "handed down to us by God" or not. Sure, maybe our math system is not able to fully express that truth (and in fact, we are pretty sure it is incomplete--that is unable to proof certain truths), but that doesn't mean it's arbitrary..


It's arbitrary when we create a system out of thin air -- given different axioms (and findings over time) "math" would be extremely different.

Think about it this way -- there's no particular reason computers HAVE to be on a binary system. It's convenient for many a reasons, but there was an era where computers were analog and continuous, and it's feasible to engineer systems using a higher base and be discreet (and many have researched exactly this.) Quantum computers work even more differently too.


I don't know that I accept this argument. You're saying that because there are slight inconsistencies that we have to reconcile, math can't possibly given to us from God? Has God never handed anything to humans that had slight inconsistencies in it?


I... okay, but you're not really responding to the intent of the message which was saying that math isn't a bastion of purity and fundamentally and wholly right and perfectly designed.

And if math had been handed down it would all be in an old holy book, which it clearly isn't.


Exactly. God here is representative of some singular fundamental truth about the universe, assuming such a thing even exists. And math wasn't created in such a fashion.

Math was designed by humans to be useful, which it very much is. But ultimately it's just a system we made up, and then kept building on top of ad infinitum. Just go exploring into the topology branch of math (one example of many) just to see how remote from what you see around you math can get.


A pretty interesting question(the value of 0^0), in a very understandable format for the layman (me).

Very nice blog post!


best thing i read in quite a while!


Whenever you try to cross-breed an apple tree with a donkey, you get nonsense.

But for convenience, whatever the offspring is, we may call it a donkapple.

That's they beauty of math.


The utility of math is that you can then do a bunch of calculations with donkapples and at the end, get a meaningful real-world answer.


Well meaningful as soon as someone finds a donkapple.


Not at all. Complex numbers are used to solve real world engineering problems, despite the fact that you cannot "find" any complex numbers in nature.


I thought quantum mechanics was riddled with complex numbers? What is it about QM which means we're "using" complex numbers without having "found" them in nature?

(I realise that this is kindof a horrible question to try and answer on an internet forum, please try your best physicists ;)


This is ridiculous. Doesn't this seem counter-intuitive for it to be anything else besides 0 or undefined?


The article is making a very important point:

Even for things as "objective" as mathematics, definitions ultimately come down to what makes it convenient to manipulate symbols like an expert would.

This comes up all the time in fields as diverse as software engineering, law, finance, business, even hard sciences like physics - things are "right" because they're convenient, and because the consequences of them being that way make it possible to build on those results with new constructs, while doing it a different, more intuitive way would result in those constructs being impossible.

What the article is saying is that your intuition for it being 0 or undefined is because you've been exposed only to exponentiation as repeated multiplication or as the limit of some series; if you consider other theorems like the binomial theorem, and figure out what is necessary for them to hold without special casing, you'll decide otherwise.


If we don't have a specific mathematical context, then saying it's undefined is intuitive to me.

Without context, 0 is no more intuitive to me than 1. These two statements are equally intuitive to me, but they give different results for 0^0:

"Zero raised to any power is still just zero."

"Any number raised to the zeroth power is one."


For me, intuition-wise, I'd order it "undefined, 1, 0".

There are 3 cases for 1 and one case for 0 that immediately spring to my mind when considering the problem:

    0) Limit of 0^x, as x approaches 0 (from above).
    1a) Limit of x^0 as x approaches 0 (from either direction).
    1b) Limit of x^x as x approaches 0 (from above).
    1c) "What did you multiply by 3 once, to get 3^1?  So, multiplying 1 by zero, zero times..."
Limits here, simplified to intuition level, being "what would you need to fill that hole in the graph?" The fact that these disagree would be why I'd assume undefined, but the case for 1 seems stronger (to me).


The limit in 1b is 1 from below as well, right? I'm not sure how limits work with complex numbers, but the imaginary part of x^x approaches zero as x approaches zero from below, so can we say that the limit of x^x as x approaches zero from below is also zero?


Yes, but getting there steps out of the realm of "intuition" for me.


Yes, perhaps "intuition" isn't the best word. Formal limits certainly aren't "intuitive" to me, at least by one definition of the word. I suppose I used "intuitive" to mean "according to my mathematical understanding, ignoring the mathematics explicitly dealing with 0^0."


Sure. I was limiting it to things I could do in my head in tens of seconds.


0^2 and 0^1 may be zero, but 0^-1 and 0^-2 are infinite. So I don't think that intuition leads to 0^0=0. If anything 0^0=1 preserves the symmetry.


Math and science are built upon many ideas that are both counter-intuitive and true.


"A deep truth is one whose opposite is also a deep truth" -Niels Bohr


Please read the article before posting a question that is thoroughly explained.


Not really - the explanation from the "mathematician" perspective gives some of the rationale, and it makes perfect sense & in line with intuition.

Defining 0^0 as anything but 1 is weird since x^0 is 1 given the other definitions we have adopted, i.e. x^n = x * x * ... * x (n times) for positive integers, (x^n)^(-1) being defined as the unique number such that x^n * (x^n)^(-1) = 1, (x^n)^(-1) * x^n = 1 for non-zero numbers x, and the simple result that (x^n)^(-1) = (x^(-1))^n from proof by induction & the uniqueness condition of the multiplicative inverse, we then get the natural formula that 1 = x^n * x^(-n) = x^(n - n) = x^0 for non-zero numbers. Defining 0^0 = 0 or undefined doesn't agree with the formula given for all non-zero real numbers, and goes against the limit of x^x as x approaches 0 (as detailed in the article), making x^x a discontinuous function at x = 0 if it is defined as another value.


In any case, zero is a different animal than any other number. It can't actually exist in the physical world like other numbers; it's definition is non-existence. Zero is merely conceptual. Therefore, it can't easily fit into the picture of mathematics; at least not without requiring the definition of special cases.




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

Search: