
    
        
        
        
                
        
        
        
                
        
        
        
                
        
        
        
                
        
        
        
                
        
        
        
            
{"version":"https:\/\/jsonfeed.org\/version\/1","title":"mathspp.com feed","home_page_url":"https:\/\/mathspp.com\/blog\/tags\/induction","feed_url":"https:\/\/mathspp.com\/blog\/tags\/induction.json","description":"Stay up-to-date with the articles on mathematics and programming that get published to mathspp.com.","author":{"name":"Rodrigo Gir\u00e3o Serr\u00e3o"},"items":[{"title":"TIL #132 \u2013 Double factorial","date_published":"2025-09-25T11:47:00+02:00","id":"https:\/\/mathspp.com\/blog\/til\/double-factorial","url":"https:\/\/mathspp.com\/blog\/til\/double-factorial","content_html":"<p>Today I learned about the double factorial.<\/p>\n\n<p>The double factorial, <span class=\"mathjax mathjax--inline\">\\(n!!\\)<\/span>, is defined as the product of all positive integers less than or equal to <span class=\"mathjax mathjax--inline\">\\(n\\)<\/span> that have the same parity as <span class=\"mathjax mathjax--inline\">\\(n\\)<\/span>.<\/p>\n<p>Some examples:<\/p>\n<ul>\n<li><span class=\"mathjax mathjax--inline\">\\(5!! = 5 \\times 3 \\times 1\\)<\/span><\/li>\n<li><span class=\"mathjax mathjax--inline\">\\(8!! = 8 \\times 6 \\times 4 \\times 2\\)<\/span><\/li>\n<\/ul>\n<p>When reading about it in a book authored by a friend of mine, the identity <span class=\"mathjax mathjax--inline\">\\((2n)!! = 2^n n!\\)<\/span> was also presented, and I'll prove it now by induction.\nFor <span class=\"mathjax mathjax--inline\">\\(n = 1\\)<\/span>, we have <span class=\"mathjax mathjax--inline\">\\(2!! = 2 = 2^1 \\times 1!\\)<\/span>, which is true.\nNow, assuming the identity holds up to <span class=\"mathjax mathjax--inline\">\\(n\\)<\/span>, we show it holds for <span class=\"mathjax mathjax--inline\">\\(n + 1\\)<\/span>:<\/p>\n<p class=\"mathjax mathjax--block\">\\[\n\\begin{align}\n(2(n + 1))!! &amp;= (2(n + 1)) \\times (2n)!! \\\\\n&amp;= (2(n + 1)) \\times 2^n n! \\\\\n&amp;= (n + 1) \\times 2^{n + 1} n! \\\\\n&amp;= 2^{n + 1} (n + 1)!\n\\end{align}\\]<\/p>\n<p>Done!<\/p>","summary":"Today I learned about the double factorial.","date_modified":"2025-10-20T22:34:56+02:00","tags":["combinatorics","arithmetic","induction","mathematics"],"image":"\/user\/pages\/02.blog\/04.til\/132.double-factorial\/thumbnail.webp"},{"title":"Problem #054 \u2013 imperfect compression","date_published":"2022-01-23T00:00:00+01:00","id":"https:\/\/mathspp.com\/blog\/problems\/imperfect-compression","url":"https:\/\/mathspp.com\/blog\/problems\/imperfect-compression","content_html":"<p>Can you show that perfect compression is impossible?<\/p>\n\n<figure class=\"image-caption\"><img title=\"Photo by Rui Matayoshi on Unsplash.\" alt=\"\" src=\"\/images\/e\/c\/d\/8\/d\/ecd8df7fc67e7eb6dc340f7f49c7cf0403cbc855-thumbnail.png\"><figcaption class=\"\">Photo by Rui Matayoshi on Unsplash.<\/figcaption><\/figure><h2 id=\"problem-statement\">Problem statement<a href=\"#problem-statement\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Compression is great: it is what lets you take that giant folder you have and reduce its size to save some memory on your laptop.\nOf course, you only do these compressions happily because you know you don't lose information when you compress things.\nThe data is just... compressed!<\/p>\n<p>For compression to be useful, it has to be bidirectional: you must be able to recover the original data from the compressed version.\nThis is only possible if two different pieces of data never get compressed into the same thing.\n(In mathematical terms, we say that the compression must be injective.)<\/p>\n<p>Now, on top of that, we are interested in compression that actually works, right?\nThat is, in compression that reduces the size of things.\nRight?<\/p>\n<p>Right!\nNow, the challenge is for you to show that no compression mechanism is perfect.\nIn other words, show that if a compression mechanism is bidirectional and it manages\nto take some pieces of data and transform them into something smaller,\nthen, there are pieces of data that will become <strong>larger<\/strong> by the action of the compression mechanism.<\/p>\n<p>If it makes it easier for you,\nwe can suppose that the data we are talking about are just sequences of letters.\nSo, we are talking about compression mechanisms that take sequences of letters and try to build smaller\nsequences of letters, the compression.\nFor example, maybe the sequence <code>aaaaaa<\/code> gets compressed into <code>Aaab<\/code>,\nbut maybe the mechanism fails on <code>AAAAAA<\/code> because it &ldquo;compresses&rdquo; it into <code>arghfewtoen<\/code>.<\/p>\n<div class=\"notices blue\">\n<p>Give it some thought!<\/p>\n<\/div>\n<p>If you need any clarification whatsoever, feel free to ask in the comment section below.<\/p>\n<h2 id=\"solvers\">Solvers<a href=\"#solvers\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Congratulations to the ones that solved this problem correctly and, in particular, to the ones\nwho sent me their correct solutions:<\/p>\n<ul><li>David H., Taiwan;<\/li>\n<\/ul><p>Know how to solve this?\nJoin the list of solvers by <a href=\"mailto:rodrigo@mathspp.com?subject=Solution%20to%20Problem%20#054%20%E2%80%93%20imperfect%20compression\" class=\"mailto\">emailing me<\/a> your solution!<\/p>\n<h2 id=\"solution\">Solution<a href=\"#solution\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Let's assume that there <em>is<\/em> a perfect compression algorithm.\nFor the empty sequence, what does this algorithm do?\nIt has to compress the empty sequence into the empty sequence,\nbecause there is no shorter sequence to compress the sequence into.<\/p>\n<p>Now, let's think about sequences of length 1.\nNone of those can be compressed into the only sequence of length 0,\nbecause there is already a sequence compressed into that (itself).\nThus, all sequences of length 1 must map to other sequences of length 1.\nOf course they don't map to sequences of length 2 or greater,\notherwise the <em>compression<\/em> would actually make the sequences larger.<\/p>\n<p>Therefore, the sequences of length 1 all map to each other,\nand no two sequences can map to the same one,\nso the compression algorithm really only works as a shuffling of the sequences...<\/p>\n<p>Now, we can just repeat this train of thought indefinitely:\nfor the sequences of length 2,\nnone of them can map to sequences of length 0 or 1,\nbecause those are all...<\/p>","summary":"Can you show the perfection compression algorithm doesn&#039;t exist?","date_modified":"2025-07-23T16:49:02+02:00","tags":["combinatorics","induction","mathematics","pigeonhole principle"],"image":"\/user\/pages\/02.blog\/03.problems\/p054-imperfect-compression\/thumbnail.png"},{"title":"Problem #011 \u2013 salvation of the monks","date_published":"2018-07-22T00:00:00+02:00","id":"https:\/\/mathspp.com\/blog\/problems\/salvation-of-the-monks","url":"https:\/\/mathspp.com\/blog\/problems\/salvation-of-the-monks","content_html":"<p>How can 2018 monks find eternal peace?<\/p>\n\n<h2 id=\"problem-statement\">Problem statement<a href=\"#problem-statement\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>On an island far from the bad, vain, and consumerist habits of today's societies, live <span class=\"mathjax mathjax--inline\">\\(2018\\)<\/span> silent monks.\nAmong other things, the monks renounced vanity and thus they never saw themselves on the mirror nor on any other reflecting surface.<\/p>\n<p>One day, the volcano in the centre of the island &ndash; slowly but steadily &ndash; started hinting at an incoming eruption and the monks grew worried as the days passed.<\/p>\n<p>Some days later, at exactly 23h59, a divine being showed itself to the monks in their dreams and offered them a painless death &ndash; thus avoiding the wrath of the volcano &ndash; as long as every monk found out the colour of his own eyes.<\/p>\n<p>The divine being also told them that every monk in the island had either blue or green eyes and that there was at least one monk with blue eyes.<\/p>\n<p>The divine being left with its final condition: <em>every day<\/em>, at 23h59, all monks who knew the colour of their eyes would be taken in peace.<\/p>\n<p>Depending on the number <span class=\"mathjax mathjax--inline\">\\(k\\)<\/span> of monks with blue eyes (<span class=\"mathjax mathjax--inline\">\\(k &gt; 0\\)<\/span>), will the monks save themselves?\nIn how many days?<\/p>\n<h2 id=\"solution\">Solution<a href=\"#solution\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>To arrive at the solution, we start with a small number of monks with blue eyes and keep extending the train of thought to increasing values of <span class=\"mathjax mathjax--inline\">\\(k\\)<\/span>.\nLet us start with <span class=\"mathjax mathjax--inline\">\\(k = 1\\)<\/span>.<\/p>\n<p>Set <span class=\"mathjax mathjax--inline\">\\(k = 1\\)<\/span> and let us say that the day when the divine being appeared in the monks' dreams at 23h59 was day <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span>, making the next morning the morning of day <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span>, making the day after that day, day <span class=\"mathjax mathjax--inline\">\\(2\\)<\/span>, and so on and so forth.<\/p>\n<p>Suppose now that I am the only monk with blue eyes.\nDay <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span> I wake up and notice that none of the other <span class=\"mathjax mathjax--inline\">\\(2017\\)<\/span> monks has blue eyes.\nBecause the divine being told me that <span class=\"mathjax mathjax--inline\">\\(k\\)<\/span> was strictly greater than <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span> &ndash; i.e. there is <em>at least<\/em> one monk with blue eyes &ndash; I must be the <em>only<\/em> monk with blue eyes and at 23h59 of day <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span> I am taken in peace.<\/p>\n<p>Suppose now I am one of the <span class=\"mathjax mathjax--inline\">\\(2017\\)<\/span> monks with green eyes.\nDay <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span> I wake up and see one monk with blue eyes and <span class=\"mathjax mathjax--inline\">\\(2016\\)<\/span> monks with green eyes.\nThe divine being only said that <span class=\"mathjax mathjax--inline\">\\(k &gt; 0\\)<\/span> and thus I am uncertain of whether <span class=\"mathjax mathjax--inline\">\\(k = 1\\)<\/span> or <span class=\"mathjax mathjax--inline\">\\(k = 2\\)<\/span>, this depending on the colour of my own eyes.\nEither way, by the end of day <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span> I am not sure of the colour of my eyes...\nNonetheless, I do know that if it is the case that <span class=\"mathjax mathjax--inline\">\\(k = 1\\)<\/span>, then the monk I saw with blue eyes would have been taken.\nIf I wake up the next morning and that monk is still alive then <span class=\"mathjax mathjax--inline\">\\(k = 2\\)<\/span> and I must have blue eyes as well.<\/p>\n<p>Because...<\/p>","summary":"How can 2018 monks find eternal peace?","date_modified":"2025-07-23T16:49:02+02:00","tags":["induction","logic","mathematics"],"image":"\/user\/pages\/02.blog\/03.problems\/p011-salvation-of-the-monks\/thumbnail.webp"},{"title":"Problem #009 \u2013 greedy pirates","date_published":"2018-04-04T00:00:00+02:00","id":"https:\/\/mathspp.com\/blog\/problems\/greedy-pirates","url":"https:\/\/mathspp.com\/blog\/problems\/greedy-pirates","content_html":"<p>How can a greedy pirate captain keep his treasure to himself?<\/p>\n\n<h2 id=\"problem-statement\">Problem statement<a href=\"#problem-statement\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Captain Jack Gir&atilde;o was the most feared pirate of the 15th century.\nHe was accompanied by 9 toothless pirates and they pillaged every ship that sailed their seas.\nBesides having perfect logic reasoning, all the pirates were sadistic!\nWhenever they had a chance, they would throw a fellow pirate to the sea so they could watch him swim with the sharks.\nThe only thing the pirates preferred over watching a mate be thrown overboard was gold.<\/p>\n<p>One day, Captain Jack Gir&atilde;o and his crew pillaged a ship from where they took 30 gold coins.\nCaptain Jack Gir&atilde;o, dangerous but democratic, summoned a meeting to distribute the recently plundered gold.\nGold distribution among perfectly logical and democratic pirates follows these rules:<\/p>\n<ol><li>The Captain proposes a certain distribution of the gold coins and every pirate has to vote if they approve said distribution or not.<\/li>\n<li>If half or more of the votes are in favour, the proposed distribution passes.\nIf not, the Captain is thrown overboard, the most experienced pirate becomes the Captain, and then the process is repeated.<\/li>\n<\/ol><p>What distribution should Captain Jack Gir&atilde;o propose in order to maximize his own profits and to keep his life?<\/p>\n<h2 id=\"solution\">Solution<a href=\"#solution\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>If the crew is composed of 10 pirates in total, a proposal needs at least 5 votes to be accepted.\nWe can assume Captain Jack Gir&atilde;o never votes against himself, meaning we only need to ensure 4 more votes.<\/p>\n<p>A pirate who isn't offered gold will always vote against us.\nAfter all, these pirates were very sadistic.\nThis means we'll have to spend a bare minimum of 4 gold coins, which in turn means it is impossible for Captain Jack Gir&atilde;o to keep more than 26 coins.\nHowever, we will show that there is a strategy according to which Captain Jack Gir&atilde;o gets to keep 26 gold coins!<\/p>\n<p>We will follow an inductive reasoning: we will see what happens when the crew is composed of 2 pirates, then what happens when we have 3 pirates, then 4, etcetera.\nTo make the explanation easier, let us say that the pirates' names are, in descending order of experience, Captain Jack Gir&atilde;o, Abel, Bernard, Charles, Dickson, Esteban, Fabian, Gabe, Henry and Ian.<\/p>\n<p>Suppose there are only 2 pirates, Henry and Ian: as there are only two pirates, one vote suffices to approve the proposal, so Henry can do whatever he wants.\nHe'll propose the distribution <span class=\"mathjax mathjax--inline\">\\((30, 0)\\)<\/span> (30 coins for him and 0 for Ian) and he'll have his proposal accepted.<\/p>\n<p>Suppose there are only 3 pirates, Gabe, Henry, and Ian.\nIan knows that if Gabe is thrown overboard, then Henry will keep all 30 coins to himself and give none to Ian.\nSo, if Gabe offers a single coin to Ian, that's enough to buy his vote.\nUltimately, if it comes down to it, Gabe just has to make the offer <span class=\"mathjax mathjax--inline\">\\((29, 0, 1)\\)<\/span>.<\/p>\n<p>Suppose there are only 4 pirates, Fabian,...<\/p>","summary":"How can a greedy pirate captain keep his treasure to himself?","date_modified":"2025-07-23T16:49:02+02:00","tags":["game theory","induction","logic","mathematics"],"image":"\/user\/pages\/02.blog\/03.problems\/p009-greedy-pirates\/thumbnail.webp"},{"title":"Problem #008 \u2013 cutting squares","date_published":"2018-03-18T00:00:00+01:00","id":"https:\/\/mathspp.com\/blog\/problems\/cutting-squares","url":"https:\/\/mathspp.com\/blog\/problems\/cutting-squares","content_html":"<p>Given some paper squares, can you slice them and then glue them back together to form a single square?<\/p>\n\n<h2 id=\"problem-statement\">Problem statement<a href=\"#problem-statement\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Given <span class=\"mathjax mathjax--inline\">\\(n\\)<\/span> squares of side lengths <span class=\"mathjax mathjax--inline\">\\(a_1, a_2, \\cdots, a_n\\)<\/span>, is it possible to cut them in a way that the cut pieces can be rearranged into a single, larger square with no holes or no overlapping pieces?<\/p>\n<p>You can actually try this out with paper squares and a pair of scissors!<\/p>\n<h2 id=\"solution\">Solution<a href=\"#solution\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>The first step is to recognize it suffices to prove the statement for two squares.\nThat is, given two squares of side lengths <span class=\"mathjax mathjax--inline\">\\(a\\)<\/span> and <span class=\"mathjax mathjax--inline\">\\(b\\)<\/span>, it is always possible to cut them into pieces and rearrange those pieces to create a single square.<\/p>\n<p>Let us start by considering the case where <span class=\"mathjax mathjax--inline\">\\(a &gt; b\\)<\/span>.<\/p>\n<figure class=\"image-caption\"><img title=\"Two squares.\" alt=\"Two squares of side lengths $a$ and $b$.\" src=\"\/user\/pages\/02.blog\/03.problems\/p008-cutting-squares\/_step1.webp\"><figcaption class=\"\">Two squares.<\/figcaption><\/figure><p>Take the bigger square and make a cut parallel to one of the sides in order to create two rectangles: one of dimensions <span class=\"mathjax mathjax--inline\">\\(a \\times b\\)<\/span> and the other of dimensions <span class=\"mathjax mathjax--inline\">\\(a\\times (a-b)\\)<\/span>.\nTake the rectangle that is <span class=\"mathjax mathjax--inline\">\\(a \\times b\\)<\/span> and cut it along the diagonal, getting two identical right triangles with sides <span class=\"mathjax mathjax--inline\">\\(a\\)<\/span> and <span class=\"mathjax mathjax--inline\">\\(b\\)<\/span>.<\/p>\n<figure class=\"image-caption\"><img title=\"The first two cuts on the larger square.\" alt=\"The first two cuts on the larger square.\" src=\"\/user\/pages\/02.blog\/03.problems\/p008-cutting-squares\/_step2.webp\"><figcaption class=\"\">The first two cuts on the larger square.<\/figcaption><\/figure><p>Cut the rectangle that is <span class=\"mathjax mathjax--inline\">\\(a \\times (a-b)\\)<\/span> in order to obtain a square <span class=\"mathjax mathjax--inline\">\\((a-b) \\times (a-b)\\)<\/span> and a rectangle <span class=\"mathjax mathjax--inline\">\\(b \\times (a-b)\\)<\/span>, putting it next to the smaller square (<span class=\"mathjax mathjax--inline\">\\(b \\times b\\)<\/span>) to create a new rectangle <span class=\"mathjax mathjax--inline\">\\(b \\times a\\)<\/span>, which we cut along the diagonal.<\/p>\n<figure class=\"image-caption\"><img title=\"The next two cuts create two more rectangle triangles.\" alt=\"The next two cuts create two more rectangle triangles.\" src=\"\/user\/pages\/02.blog\/03.problems\/p008-cutting-squares\/_step3.webp\"><figcaption class=\"\">The next two cuts create two more rectangle triangles.<\/figcaption><\/figure><p>At this point, we have <span class=\"mathjax mathjax--inline\">\\(4\\)<\/span> right triangles of sides <span class=\"mathjax mathjax--inline\">\\(a\\)<\/span> and <span class=\"mathjax mathjax--inline\">\\(b\\)<\/span> and a square that is <span class=\"mathjax mathjax--inline\">\\((a-b) \\times (a-b)\\)<\/span>. All we need is to put the pieces together in a convenient way:<\/p>\n<figure class=\"image-caption\"><img title=\"Rearrangement of the four rectangle triangles.\" alt=\"Rearrangement of the four rectangle triangles.\" src=\"\/user\/pages\/02.blog\/03.problems\/p008-cutting-squares\/_step4.webp\"><figcaption class=\"\">Rearrangement of the four rectangle triangles.<\/figcaption><\/figure><p>The hole that is missing is filled by the square <span class=\"mathjax mathjax--inline\">\\((a-b) \\times (a-b)\\)<\/span> that hasn't been used.<\/p>\n<p>Note that the side of the new square is <span class=\"mathjax mathjax--inline\">\\(\\sqrt{a^2 + b^2}\\)<\/span>, as expected: the sum of the areas of the two initial squares is <span class=\"mathjax mathjax--inline\">\\(a^2 + b^2\\)<\/span>, meaning a square made out of those two would need to have sides of length <span class=\"mathjax mathjax--inline\">\\(\\sqrt{a^2 + b^2}\\)<\/span>.<\/p>\n<p>In the beginning we assumed <span class=\"mathjax mathjax--inline\">\\(a &gt; b\\)<\/span>.\nIf <span class=\"mathjax mathjax--inline\">\\(a = b\\)<\/span> we just need to cut the two squares along the diagonal and glue together the <span class=\"mathjax mathjax--inline\">\\(4\\)<\/span> right triangles.\nThe case <span class=\"mathjax mathjax--inline\">\\(a &lt; b\\)<\/span> can be handled similarly to the case <span class=\"mathjax mathjax--inline\">\\(a &gt; b\\)<\/span> by swapping the two squares.<\/p>\n<p>We have proved we can transform two squares into a single one by a succession of cuts and rearrangements.\nTo prove this holds for a generic number of initial squares we proceed to prove the statement by complete induction.\nThe base case, <span class=\"mathjax mathjax--inline\">\\(n = 2\\)<\/span>, is done.<\/p>\n<p>For the induction step, we suppose it is true for any number of squares between <span class=\"mathjax mathjax--inline\">\\(2\\)<\/span> and <span class=\"mathjax mathjax--inline\">\\(n\\)<\/span> and it becomes easy to check it works for <span class=\"mathjax mathjax--inline\">\\(n+1\\)<\/span> as well: start by cutting...<\/p>","summary":"Given some paper squares, can you slice them and then glue them back together to form a single square?","date_modified":"2025-07-23T16:49:02+02:00","tags":["geometry","induction","logic","mathematics"],"image":"\/user\/pages\/02.blog\/03.problems\/p008-cutting-squares\/thumbnail.webp"},{"title":"Problem #005 - number me right","date_published":"2018-01-23T00:00:00+01:00","id":"https:\/\/mathspp.com\/blog\/problems\/number-me-right","url":"https:\/\/mathspp.com\/blog\/problems\/number-me-right","content_html":"<p>This problem is a really interesting problem I solved two times. The first time I solved it I failed to prove exactly how it works... then some years later I remembered the problem statement and was able to solve it properly. Let's see how you do!<\/p>\n\n<h2 id=\"problem-statement\">Problem statement<a href=\"#problem-statement\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>Take a chessboard and extend it indefinitely upwards and to the right. In the bottom leftmost corner you put a <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span>. For every other cell, you insert the smallest non-negative integer that hasn't been used neither in the same row, to the left of the cell, nor in the same column, below it. So, for example, the first row will have the numbers <span class=\"mathjax mathjax--inline\">\\(0, 1, 2, 3, \\cdots\\)<\/span>. What is the number that appears in the <span class=\"mathjax mathjax--inline\">\\(1997\\)<\/span>th row, <span class=\"mathjax mathjax--inline\">\\(2018\\)<\/span>th column?<\/p>\n<div class=\"notices blue\">\n<p>Give it some thought... my best advice would be for you to create a grid in your piece of paper and start filling it out as stated by the rules. Can you find a pattern?<\/p>\n<\/div>\n<p>If you need any clarification whatsoever, feel free to ask in the comment section below.<\/p>\n<h2 id=\"solution\">Solution<a href=\"#solution\" class=\"toc-anchor after\" data-anchor-icon=\"#\" aria-label=\"Anchor\"><\/a><\/h2>\n<p>The key here is to understand the way in which the board is filled. When I first solved the problem I started by filling a board on my own, to get a feel for the rules imposed. Doing so should make clear that, for example,<\/p>\n<ul><li>the number in the diagonal is always a <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span>;<\/li>\n<li>the board is symmetric along the diagonal, i.e. the number in column <span class=\"mathjax mathjax--inline\">\\(j\\)<\/span> and row <span class=\"mathjax mathjax--inline\">\\(i\\)<\/span> is the same number as in row <span class=\"mathjax mathjax--inline\">\\(j\\)<\/span> and column <span class=\"mathjax mathjax--inline\">\\(i\\)<\/span>.<\/li>\n<\/ul><p>The interested reader is left with trying to get a feel for the pattern involved in filling the board. We skip right to the full solution.<\/p>\n<p><strong>Claim:<\/strong> the number in the <span class=\"mathjax mathjax--inline\">\\(i+1\\)<\/span>th row and <span class=\"mathjax mathjax--inline\">\\(j+1\\)<\/span>th column is <span class=\"mathjax mathjax--inline\">\\(i \\hat{} j\\)<\/span>, where <span class=\"mathjax mathjax--inline\">\\(\\hat{}\\)<\/span> is the bitwise [XOR] operation.<\/p>\n<p>The bitwise XOR takes two bit representations and for each pair of corresponding bits returns <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span> if one and only one of the bits was <span class=\"mathjax mathjax--inline\">\\(1\\)<\/span>. Otherwise the result is <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span>. For example, <span class=\"mathjax mathjax--inline\">\\(1100_2 \\hat{} 1010_2 = 0110_2\\)<\/span>.<\/p>\n<p>Notice how this aligns with the two observations made:<\/p>\n<ul><li>the diagonal only has zeros; in the diagonal the row and the column have the same number and <span class=\"mathjax mathjax--inline\">\\(n \\hat{} n = 0\\)<\/span>;<\/li>\n<li>being in row <span class=\"mathjax mathjax--inline\">\\(i\\)<\/span> and column <span class=\"mathjax mathjax--inline\">\\(j\\)<\/span> is the same as being in column <span class=\"mathjax mathjax--inline\">\\(i\\)<\/span> and row <span class=\"mathjax mathjax--inline\">\\(j\\)<\/span>; <span class=\"mathjax mathjax--inline\">\\(i \\hat{} j = j \\hat{} i\\)<\/span>.<\/li>\n<\/ul><p>From now on we will renumber the rows and columns so that they start at <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span> and we will let <span class=\"mathjax mathjax--inline\">\\(c(i,j)\\)<\/span> be the value in the <span class=\"mathjax mathjax--inline\">\\(i\\)<\/span>th row, <span class=\"mathjax mathjax--inline\">\\(j\\)<\/span>th column. Let <span class=\"mathjax mathjax--inline\">\\(P(n)\\)<\/span> be the statement \"the bottom left square of the table with side <span class=\"mathjax mathjax--inline\">\\(2^n\\)<\/span> has, in every row, every single number from <span class=\"mathjax mathjax--inline\">\\(0\\)<\/span> to <span class=\"mathjax mathjax--inline\">\\(2^n -1\\)<\/span> <strong>and<\/strong><\/p>\n<p class=\"mathjax mathjax--block\">\\[\n    \\forall i,j \\leq 2^n-1: c(i,j) = i \\hat{} j\\ .\\]<\/p>\n<p>This final part means that the value of a specific cell is...<\/p>","summary":"This blog post concerns a really interesting problem that takes place on an infinite board!","date_modified":"2025-07-23T16:49:02+02:00","tags":["binary","induction","mathematics"],"image":"\/user\/pages\/02.blog\/03.problems\/p005-number-me-right\/nmr_1.webp"}]}
