12 CHAPTER 1. NIM AND COMBINATORIAL GAMESLemma 1.8 Two games G and H are equivalent if all their options are equivalent, thatis, for every option <strong>of</strong> G there is an equivalent option <strong>of</strong> H and vice versa.Pro<strong>of</strong>. Assume that for every option <strong>of</strong> G there is an equivalent option <strong>of</strong> H and viceversa. We want to show G + H ≡ ∗0. If player I moves from G + H to G ′ + H whereG ′ is an option in G, then there is an equivalent option H ′ <strong>of</strong> H, that is, G ′ + H ′ ≡ ∗0by lemma 1.7. Moving there defines a winning move in G ′ + H for player II. Similarly,player II has a winning move if player I moves to G + H ′ where H ′ is an option <strong>of</strong> H,namely to G ′ + H ′ where G ′ is an option <strong>of</strong> G that is equivalent to H ′ . So G + H is alosing game as claimed, and G ≡ H by lemma 1.5 and lemma 1.7.Note that lemma 1.8 states only a sufficient condition for the equivalence <strong>of</strong> G andH. <strong>Game</strong>s can be equivalent without that property. For example, G + G ≡ ∗0, but ∗0 hasno options whereas G + G has many.We conclude this section with an important point. Equivalence <strong>of</strong> two games is a finerdistinction than whether the games are both losing or both winning, because that propertyhas to be preserved in sums <strong>of</strong> games as well. Unlike losing games, winning games are ingeneral not equivalent.Lemma 1.9 Two nim heaps are equivalent only if they have equal size: ∗n ≡ ∗m =⇒ n =m.Pro<strong>of</strong>. By lemma 1.7, ∗n ≡ ∗m if and only if ∗n + ∗m is a losing position. By lemma 1.1,this implies n = m.That is, different nim heaps are not equivalent. In a sense, this is due to the differentamount <strong>of</strong> “freedom” in making a move, depending on the size <strong>of</strong> the heap. However, allthe relevant freedom in making a move in an impartial game can be captured by a nimheap. We will later show that any impartial game is equivalent to some nim heap.1.10 Sums <strong>of</strong> nim heapsBefore we show how impartial games can be represented as nim heaps, we consider thegame <strong>of</strong> nim itself. We show in this section how any nim game, which is a sum <strong>of</strong> nimheaps, is equivalent to a single nim heap. As an example, we know that ∗1+∗2+∗3 ≡ ∗0,so by lemma 1.7, ∗1 + ∗2 is equivalent to ∗3. In general, however, the sizes <strong>of</strong> the nimheaps cannot simply be added to obtain the equivalent nim heap (which by lemma 1.9 hasa unique size). For example, as shown after (1.4), ∗1+∗2+∗3 ≡ ∗0, that is, ∗1+∗2+∗3is a losing game and not equivalent to the nim heap ∗6. Adding the game ∗2 to bothsides <strong>of</strong> the equivalence ∗1 + ∗2 + ∗3 ≡ ∗0 gives ∗1 + ∗3 ≡ ∗2, and in a similar way∗2 + ∗3 ≡ ∗1, so any two heaps from sizes 1,2,3 has the third size as its equivalent singleheap. This rule is very useful in simplifying nim positions with small heap sizes.If ∗k ≡ ∗n + ∗m, we also call k the nim sum <strong>of</strong> n and m, written k = n ⊕ m. Thefollowing theorem states that for distinct powers <strong>of</strong> two, their nim sum is the ordinarysum. For example, 1 = 2 0 and 2 = 2 1 , so 1 ⊕ 2 = 1 + 2 = 3.
1.10. SUMS OF NIM HEAPS 13Theorem 1.10 Let n ≥ 1, and n = 2 a + 2 b + 2 c + ··· , where a > b > c > ··· ≥ 0. Then∗ n ≡ ∗(2 a ) + ∗(2 b ) + ∗(2 c ) + ···. (1.7)We first discuss the implications <strong>of</strong> this theorem, and then prove it. The right-handside <strong>of</strong> (1.7) is a sum <strong>of</strong> games, whereas n itself is represented as a sum <strong>of</strong> powers <strong>of</strong> two.Any n is uniquely given as such a sum. This amounts to the binary representation <strong>of</strong> n,which, if n < 2 a+1 , gives n as the sum <strong>of</strong> all powers <strong>of</strong> two 2 a ,2 a−1 ,2 a−2 ,...,2 0 , eachpower multiplied with one or zero. These ones and zeros are then the digits in the binaryrepresentation <strong>of</strong> n. For example,13 = 8 + 4 + 1 = 1 × 2 3 + 1 × 2 2 + 0 × 2 1 + 1 × 2 0 ,so that 13 in decimal is written as 1101 in binary. Theorem 1.10 uses only the powers <strong>of</strong>two 2 a ,2 b ,2 c ,... that correspond to the digits “one” in the binary representation <strong>of</strong> n.Equation (1.7) shows that ∗n is equivalent to the game sum <strong>of</strong> many nim heaps, all <strong>of</strong>which have a size that is a power <strong>of</strong> two. Any other nim heap ∗m is also a sum <strong>of</strong> suchgames, so that ∗n + ∗m is a game sum <strong>of</strong> several heaps, where equal heaps cancel out inpairs. The remaining heap sizes are all distinct powers <strong>of</strong> two, which can be added togive the size <strong>of</strong> the single nim heap ∗k that is equivalent to ∗n + ∗m. As an example, letn = 13 = 8+4+1 and m = 11 = 8+2+1. Then ∗n+∗m ≡ ∗8+∗4+∗1+∗8+∗2+∗1 ≡∗4 + ∗2 ≡ ∗6, which we can also write as 13 ⊕ 11 = 6. In particular, ∗13 + ∗11 + ∗6 is alosing game, which would be very laborious to show without the theorem.One consequence <strong>of</strong> theorem 1.10 is that the nim sum <strong>of</strong> two numbers never exceedstheir ordinary sum. Moreover, if both numbers are less than some power <strong>of</strong> two, then sois their nim sum.Lemma 1.11 Let 0 ≤ p,q < 2 a . Then ∗p+∗q ≡ ∗r where 0 ≤ r < 2 a , that is, r = p⊕q 0. We have q < 2 a .By inductive assumption, ∗q ≡ ∗(2 b ) + ∗(2 c ) + ···, so all we have to prove is that ∗n ≡∗(2 a ) + ∗q in order to show (1.7). We show this using lemma 1.8, that is, by showingthat the options <strong>of</strong> the games ∗n and ∗(2 a ) + ∗q are all equivalent. The options <strong>of</strong> ∗n are∗0,∗1,∗2,...,∗(n − 1).