Hacker News new | past | comments | ask | show | jobs | submit login

In the opening paragraph she mentions that you may be convinced that 1 = 0, if you believe infinity is number. I don't think she showed the proofs there, so here goes:

Take equation: ∞ + 1 = x

Suppose that ∞ is a number.

Suppose ∞ ≠ x. Because ∞ + 1 = ∞, (same cardinality; you can make a bijection), you get ∞ = x. This is a contradiction, so x and infinity must be the same.

Suppose ∞ = x. Then the equation becomes x + 1 = x. Subtract x on both sides. 1 = 0. This too is a contradiction.

Therefore ∞ cannot be a number.




A shorter form:

Take equation: ∞ + 1 = ∞

If ∞ is a number you can subtract it from both sides giving 1 = 0

So ∞ cannot be a number.

But then 0 too is not a number:

Take equation: 0 * 2 = 0

If 0 is a number you can divide it into both sides giving 2 = 1

So 0 cannot be a number.

0 is special. You cannot multiply and divide by it unconditionally.

∞ is special. You cannot add and subtract it unconditionally.


You're getting to the point where you really need to use some number theory and define "number" more precisely. I would imagine you could construct a definition of number based on multiplication whereby 0 would no longer be a number... but only according to your new definition of number. There's nothing wrong with having a new definition of number, but there is something wrong with writing the statement in English "0 cannot be a number" without providing your definition of number. By the standard one that English usually means when the word "number" is used without mathematical qualification, yes it darned well is, just as infinity isn't. And, correspondingly, you can construct numerous number systems where there are various ordinals that have characteristics inline with what we expect from "infinity", but those aren't the usual infinity anymore, either.

When somebody asks whether infinity "is a number", I don't think it's really helpful to start dragging in constructs from number theory and defining new definitions of number for the apparently sole purpose of dazzling the poor question asker. Either just answer the question: "Is the simple, traditional infinity I learned about in high school an instance of the simple, traditional number I learned about in high school?" ("No."), or be more explicit about the fact that you're not talking about either the "infinity" or the "number" the asker is asking about. (And when I phrase it that way, my objection should be clear: You're not answering the question that was asked, and you're not telling them that's what you are doing. That's not educational by any useful metric.)

Sure, neither "traditional number" nor "traditional infinity" is particularly well defined, with pathological behavior readily demonstrable to even a high-school educated person... but not in such a way that affects this particular question.



All you managed to do is show why division by zero is not allowed. It doesn't show 0 is not a number.


0 is a number all right, and division by 0 isn't proving anything. My point is that maybe subtracting ∞ doesn't prove anything either.


Well, I suppose that's true if you limit yourself to the reals, but it doesn't hold if you're dealing with the surreal numbers :-)


Could you kindly give an example of addition in the surreal numbers? I've read a chapter in one of John Conway's books about the surreal numbers, but I don't recall the rules of arithmetic for those.


The whole thing is defined recursively. All you need to know is that a surreal number consists of two sets of surreal numbers, the left set and the right set, written {L|R}; and no member of the right set is less than any member of the left set. "Less than" is defined recursively - see http://en.wikipedia.org/wiki/Surreal_numbers#Order (it's easier to write using math symbols)

Some finite examples of addition (again, wiki has a better explanation of the rules than I could give b/c they can use math symbols http://en.wikipedia.org/wiki/Surreal_numbers#Addition):

{|} + {|} = {|} == 0 + 0 = 0 (zero has the empty set on both sides; everything is built from this)

{|} + {{ | } | } = {{ | } | } == 0 + 1 = 1

{{ | } | } + {|} = {{ | } | } == 1 + 0 = 1

{{ | } | } + {{ | } | } = {{{ | } | }, {{ | } | } | } == 1 + 1 = 2

{{{ | } | }, {{ | } | } | } + {{ | } | } = {{{{ | } | }, {{ | } | } | }, {{{ | } | }, {{ | } | } | }, {{{ | } | }, {{ | } | } | } | } == 2 + 1 = 3

As you can see, the "long" forms of surreal numbers quickly become unwieldy, which is why people use roman numerals to describe surreal numbers with the same properties as the corresponding real. When dealing with transfinite numbers it's not possible to use the long form. (And yes, I wrote a program to generate those sums for me. No way I'm doing that by hand!)


that is cool and informative - mind sharing the source for generating the sums?


http://pastebin.com/m3387c4ae

It's part of a game (in the Conway sense) framework I wrote up when I was learning about surreal numbers. Games are an even more general construct, where the left side is not required to be 'less than' the right side. Anyway, to use it, fire up GHCi and `:l game`. I've pre-defined -1, 0, and 1, but you can theoretically create any number with a finite representation (of course, the data structure and algorithms used are deliberately naive and incredibly inefficient and slow, so don't try anything crazy). For example, 5+3 requires 1156 characters to display, 5+4 requires 2556, and 5+5 requires 5118. This is because my code doesn't attempt to "reduce" any of the numbers - numbers can have multiple representations, and with finite representations you can just take the largest element of the left set and the smallest element of the right set and get the same number. My code doesn't do that. Anyway, there's also a fromInteger definition so you can mix Numbers and integers in computations.

Examples:

    Prelude> :l game
    [1 of 1] Compiling Game             ( game.hs, interpreted )
    Ok, modules loaded: Game.
    *Game> zero
    { | }
    *Game> 5 :: Game
    {{{{{{ | } | } | } | } | } | }
    *Game> let half = Game [zero] [one]
    *Game> half
    {{ | } | {{ | } | }}
    *Game> half < one
    True
    *Game> half > 1
    False
    *Game> half + half == 1
    True
    *Game> half * 1 == half
    True
    *Game> half * (one + one) > 1
    False
The best resources for learning are both by Conway: "Winning Ways for your Mathematical Plays" (WW) and "On Numbers and Games" (ONAG). WW is more accessible and introduces you to numbers via games, whereas ONAG is more of a hard-core math book that explains games via numbers. WW is probably better if you don't have a strong math background, ONAG if you do.


Surreal numbers where first described in Conway's "On Number's and Games." Since then there have been numerous other articles and books about them including a very nice one by Donald Knuth called "Surreal Numbers".


x = y / * x

x2 = xy / -y2

x2 - y2 = xy - y2 / *1/(x-y)

x + y = y

Since x = y,

2y = y

2 = 1

1 = 0


x = y / * x

x2 = xy / -y2

x2 - y2 = xy - y2 / *1/(x-y)

Error: Divide by zero.


;)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: