{"id":120,"date":"2006-08-17T17:06:27","date_gmt":"2006-08-17T17:06:27","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2006\/08\/17\/introducing-the-surreal-numbers\/"},"modified":"2006-08-17T17:06:27","modified_gmt":"2006-08-17T17:06:27","slug":"introducing-the-surreal-numbers","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2006\/08\/17\/introducing-the-surreal-numbers\/","title":{"rendered":"Introducing the Surreal Numbers"},"content":{"rendered":"<p> Surreal numbers are a beautiful, simple, set-based construction that allows you to create and represent all real numbers, so that they behave properly; <em>and<\/em> in addition, it allows you to create infinitely large and infinitely small values, and have <em>them<\/em> behave and interact in a consistent way with the real numbers in their surreal representation.<\/p>\n<p> The surreals were invented by John Horton Conway (yes, <em>that<\/em> John Conway, the same guy who invented the &#8220;Life&#8221; cellular automaton, and did all that amazing work in game theory). The name for surreal numbers was created by Don Knuth (yes, <em>that<\/em> Don Knuth!).<\/p>\n<p> Surreal Numbers are something that has come up in discussions in the comments on a number of posts around here. Before they were first mentioned in a comment back when this blog was on Blogger, I had never heard of them. After someone said a little about them, I thought they sounded so cool that I rushed out and got the two main books that have been written about them: Conway&#8217;s &#8220;On Numbers and Games&#8221;, and Knuth&#8217;s &#8220;Surreal Numbers&#8221;.<\/p>\n<h3>The Basic Rules<\/h3>\n<p> The basic idea of surreal numbers is that you can represent <em>any<\/em> real number <img src='http:\/\/l.wordpress.com\/latex.php?latex=%2A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='*' style='vertical-align:1%' class='tex' alt='*' \/> using two sets: a set <img src='http:\/\/l.wordpress.com\/latex.php?latex=L&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L' style='vertical-align:1%' class='tex' alt='L' \/> which contains numbers <em>less than<\/em> <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>, and a set <img src='http:\/\/l.wordpress.com\/latex.php?latex=R&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='R' style='vertical-align:1%' class='tex' alt='R' \/> which contains numbers <em>greater than<\/em> <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>. To make it easy to write, surreals are generally written N={ L | R }, where L is the definition of the set of values <em>less than<\/em> N, and R is the definition of the set of values <em>greater than<\/em> N.<\/p>\n<p> There are two fundamental rules for surreal numbers:<\/p>\n<ol>\n<li><em>The Construction Rule<\/em>: If L and R are two sets of surreal numbers, and &forall; l &isin; L, r &isin; R : l &lt; r, then { L | R } is a valid surreal number.<\/li>\n<li> <em>The Comparison Rule,\/em>: If x = {X<sub>L<\/sub> | X<sub>R<\/sub>} and y  = {Y<sub>L<\/sub> | Y<sub>R<\/sub>} then x &le; y if\/f:<br \/>\n<\/em> &not; &exist; x<sub>i<\/sub> &isin; X<sub>L<\/sub> : y &le; x<sub>i<\/sub> <em>(y is not less than and member of the left set of X)<\/em>, and &not; &exist; y<sub>i<\/sub> &isin; Y<sub>R<\/sub> : y<sub>i<\/sub> &le; x. <em>(x is not greater than any member of the right set of Y.)<\/em>.<\/li>\n<\/ol>\n<p> In addition, we need two basic axioms: finite induction, and equality. Finite induction is basically the induction rule from the Peano axioms, so I won&#8217;t repeat it here. The equality rule for surreals is also very simple: x = y if\/f x &le; y &and; y &le; x.<\/p>\n<h3>Constructing Integers<\/h3>\n<p>With the rules set, we can start creating numbers. The first one we create is 0: we say that <em>by definition<\/em>, 0 is the number with the empty set as its L and R values: 0 = { &empty; | &empty; }, also written { | }.<\/p>\n<p> Next we want to define the basic unit values, 1 and -1. So how do we define 1? Well, the only number we have so far is 0. So we define 1 as the value with 0 in its left set, and an empty right set: 1 = {0|}. -1 is pretty much the same deal, except that it uses 0 as its <em>right<\/em> set: -1 = {|0}.<\/p>\n<p> We follow the same basic pattern for all of the integers: the positive integer <em>i<\/em> is a surreal number with all of the positive integers less than <em>i<\/em> in its left set, and an empty right set: i = { 0, &#8230;, i-2, i-1 | }. Similarly for the negatives: a negative number -i = { | -i+1, -i+2, &#8230; 0}.<\/p>\n<p> Now, if we look at the possibilities for surreals so far &#8211; we&#8217;re always using a null set for either the left, the right, or both sets. What happens if, for a positive number <em>i<\/em>, we leave out, say, <em>i-2<\/em> in its left set?<\/p>\n<p> What happens is <em>nothing<\/em>. It&#8217;s effectively exactly the same number. Just think of the definition above, and look at an example: 4 =   {0, 1, 2, 3 |}, and {2, 3|}. Is {0, 1, 2, 3|} &le; {2, 3|}? Yes. Is {2, 3|} &le; {0, 1, 2, 3|}? Yes. So they&#8217;re the same. So each integer is actually an <em>equivalence class<\/em>. Each positive integer <em>i<\/em> is the equivalence class of the surreal numbers formed by: { {l|} where l &sub; { 0, &#8230;, i-1 } &amp;&amp; i-1 &isin; l }.<\/p>\n<p> At this point, we&#8217;ve got the ability to represent integers in the surreal form. But we haven&#8217;t even gotten to fractions, much less to infinites and infinitessimals.<\/p>\n<h3>Constructing Fractions<\/h3>\n<p> The way we construct fractions is by dividing the range between two other numbers in half. So, for example, we can create the fraction 1\/2, by saying it&#8217;s the simplest number between 0 and 1: {0 | 1}. We can write 3\/4 by saying it&#8217;s halfway between 1\/2 and 1: {1\/2 | 1}.<\/p>\n<p> This is, obviously, sort of limited. Given a finite left and right set for a number, we can only represent fractions whos denominators are powers of 2. So 1\/3 is out of the question. We can create a value that is as close to 1\/3 as we want, but we can&#8217;t get it exactly with finite left and right sets. (Fortunately, we <em>aren&#8217;t<\/em> restricted to finite left and right sets. So we&#8217;ll let ourselves be lazy and write 1\/3, with the understanding that it&#8217;s really something like a continued fraction in surreal numbers.)<\/p>\n<h3>Happy Birthday to 2<\/h3>\n<p> One thing that&#8217;s important in understanding the surreals is the idea of a <em>birthday<\/em>.<\/p>\n<p> We started creating surreals with the number 0 = {|}. We say that 0 has the <em>integer<\/em> <em>0<\/em> as its birthday.<\/p>\n<p> Then we created 1 and negative one. So it took one step each to get from the set of surreals we knew about to get to the new set consisting of {|0}, {|}, {0|}, or -1, 0, and 1. So -1 and 1 have a birthday of <em>1<\/em>.<\/p>\n<p> Once we had -1, 0, and 1, we could create -2, -1\/2, 1\/2, and 2 in one step. So they had a birthday of <em>2<\/em>.<\/p>\n<p> What we&#8217;re doing here is creating an idea of <em>ordinals<\/em>: the ordinal of a surreal number is its birthday &#8211; the number of steps it took until we could create that number.<\/p>\n<p> Given any surreal number {L|R}, the value that it represents is the value between the largest value in L and the smallest value in R with <em>the earliest birthday<\/em> (or, equivalently, the lowest ordinal).<\/p>\n<p> So if we had, for example {1, 2, 3 |} (a surreal for 4), and {23|} (a surreal for 24), then then surreal number { {1, 2, 3|} | {23|} } would be <em>5<\/em> &#8211; because it&#8217;s the surreal between 4 and 24 with the earliest birthday.<\/p>\n<h3>What about infinity?<\/h3>\n<p> I promised that  you could talk about infinity in interesting ways.<\/p>\n<p> Let&#8217;s call the <em>size<\/em> of the set of natural numbers &omega;. What can we create with birthday &omega; + 1? Things with birthday &omega;+1 are things that require <em>infinite<\/em> L and R sets. So, for example, in step &omega;+1, we can create a precise version of 1\/3.<\/p>\n<p> How?<\/p>\n<ul>\n<li> Let&#8217;s give a name to the of all surreal numbers with birthday N. We&#8217;ll call it  <em>S<sub>N<\/sub><\/em>.<\/li>\n<li> The left set of 1\/3 is: { x\/2<sup>y<\/sup> &isin; S<sub>&omega;<\/sub> : 3x &lt; 2<sup>y<\/sup>}<\/li>\n<li> The right set of 1\/3 is: { x\/2<sup>y<\/sup> &isin; S<sub>&omega;<\/sub> : 3x &gt; 2<sup>y<\/sup> }<\/li>\n<li> So 1\/3 = {  { x\/2<sup>y<\/sup> &isin; S<sub>&omega;<\/sub> : 3x &lt; 2<sup>y<\/sup>} | { x\/2<sup>y<\/sup> &isin; S<sub>&omega;<\/sub> : 3x &gt; 2<sup>y<\/sup> } }, and its birthday is &omega;+1.<\/li>\n<li>  Using pretty much the same trick, we can create a number that represents the <em>size<\/em> of the set of natural numbers, which we&#8217;ll call infinity.  &infin; = { {x &isin; S<sub>&omega;<\/sub>} | }, with birthday &omega;+1. And then, obviously, &infin;+1 = { &infin; | }, with birthday &omega;+2. And &infin;\/2 = { 0 | &infin; }, also with birthday &omega;+2.<\/li>\n<\/ul>\n<p> Infinitesimals are more of the same. To write an infinitely small number, smaller than any <em>real<\/em> fraction, what we do is say: { 0 | { 1\/2, 1\/4, 1\/8, 1\/16, &#8230; } }, with birthday &omega;+1.<\/p>\n<p> What about irrationals? No problem! They&#8217;re also in S<sub>&omega;+1<\/sub>. We use a powers-of-2 version of continued fractions.<\/p>\n<p> &pi; = {3, 25\/8, 201\/64, &#8230; | &#8230;, 101\/32, 51\/16, 13\/4, 7\/2, 4}, birthday=&omega;+1.<\/p>\n<h3>Coming Soon<\/h3>\n<p> Either tomorrow or next monday (depending on how much time I have), I&#8217;ll show you how to do arithmetic with surreal numbers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Surreal numbers are a beautiful, simple, set-based construction that allows you to create and represent all real numbers, so that they behave properly; and in addition, it allows you to create infinitely large and infinitely small values, and have them behave and interact in a consistent way with the real numbers in their surreal representation. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[43],"tags":[],"class_list":["post-120","post","type-post","status-publish","format-standard","hentry","category-numbers"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-1W","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=120"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/120\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=120"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}