From f23727535d1cde2f377edfddeb28121d1266101a Mon Sep 17 00:00:00 2001 From: wwc <78423238+de-soot@users.noreply.github.com> Date: Thu, 1 Jan 2026 13:53:52 +0800 Subject: [PATCH] edited posts --- _posts/2025-12-08-2s-complement.md | 2 +- _posts/2025-12-10-2nd-diff.md | 78 +++++++++++++-------------- _site/404.html | 8 +-- _site/about.html | 8 +-- _site/dark-mode.html | 8 +-- _site/feed.xml | 86 ++++++++++++++---------------- _site/giscus-comments.html | 8 +-- _site/index.html | 10 ++-- _site/justify-text.html | 8 +-- _site/robots.txt | 2 +- _site/sitemap.xml | 16 +++--- 11 files changed, 113 insertions(+), 121 deletions(-) diff --git a/_posts/2025-12-08-2s-complement.md b/_posts/2025-12-08-2s-complement.md index c8c4cbb..1fac3cf 100644 --- a/_posts/2025-12-08-2s-complement.md +++ b/_posts/2025-12-08-2s-complement.md @@ -6,7 +6,7 @@ categories: cs, binary, bits, negative numbers, derivation, proof, math, 2's com permalink: /2s-complement --- -## Preamble +## Introduction If you have ever taken CS in high school or college, you have probably been taught about how to represent negative numbers in binary using 2's complement. diff --git a/_posts/2025-12-10-2nd-diff.md b/_posts/2025-12-10-2nd-diff.md index 23ac34e..36a60c5 100644 --- a/_posts/2025-12-10-2nd-diff.md +++ b/_posts/2025-12-10-2nd-diff.md @@ -1,34 +1,31 @@ --- layout: post -title: 2nd Difference Formula Proof +title: 2nd Difference Derivation & Proof date: 2025-12-10 -categories: math, 2nd difference, second difference, proof, derivation, recursion, closed-form solution +categories: math, constant 2nd difference, constant second difference, proof, derivation, recurrence, recursion, closed-form solution, nth term permalink: /2nd-diff --- -## 1. Preamble +## 1. Introduction -During junior high school, I was introduced to a formula for finding the nth term of a certain sequence with a second difference that went something like: +During a math class in junior high school, I was introduced to a formula for finding the nth term of a certain sequence with a constant second difference that went something like: Tn = 1/2(n)2 - 1/2(n) + 1, for a sequence `1, 2, 4, 7 ...` and n >= 1. -At first, the formula seemed quite random (similar to the quadratic formula) and I could not wrap my head around it at the time. +The teacher never really explained it though, so it was just a mysterious formula to me at the time. -I wondered how adding a second difference could make the trivial arithmetic formula so complex, and I was inspired by a textbook I was reading ("Concrete Mathematics" by Donald Knuth), so I tried to derive the formula myself. -I also did not like to use things I did not understand, and there is no better way to understand something than to make it yourself from scratch. - -I wrote this blog post to share in hopes that someone may find it useful. +Later in college, I was inspired by a textbook I was reading (Chapter 1 of Concrete Mathematics by Donald Knuth on Recurrence Relations) and remembered the mysterious formula, so I tried to derive it myself to better understand it. ## 2. What is a 2nd Difference? Say there is a sequence `1, 2, 4, 7 ...`. You may have come across quite a few of these types of sequences on IQ tests and whatnot, and it is easy to find that the fifth term is 11 and so on. -However, it is obvious at a glance that the sequence does not follow the familiar arithmetic or geometric formulas, so we cannot yet find an arbitrary nth term of the sequence without knowing the previous terms. -Finding the general formula for this will be the goal of this derivation. +However, it is obvious at a glance that the sequence does not follow the familiar formulas for finding the nth term of arithmetic or geometric sequences, so we cannot yet find an arbitrary nth term of the sequence without first knowing the previous terms. +Finding the general closed-form solution for this will be the goal of this derivation. The difference or ratio between every term and its subsequent term is not constant, unlike what is needed for a+(n-1)d or arn-1 to work properly. -Instead, the difference (which we will now call the 'first difference') increases by a constant amount as the sequence goes on. +Instead, the difference (which we will call the 'first difference') increases by a constant amount as the sequence goes on. We can see this clearly if we construct a new sequence from the first differences: @@ -44,15 +41,15 @@ so the sequence of first differences is: `1, 2, 3 ...`. -Unlike the original sequence, it is easy to see that this sequence has a constant difference of one, so the nth term can be found using the familiar formula (albeit with some notation modifications): +Unlike the original sequence, it is easy to see that this sequence has a constant difference of one, so the nth term can be found using the familiar formula (albeit with some modifications to notation): (d1)n = a2 + (n - 1)d2, for n >= 1, -where (d1)n is the nth first difference, a2 is the first term of the sequence of first differences (a1 would be the first term of the original sequence), and d2 is the difference for the sequence of first differences (or the second difference). +where (d1)n is the nth first difference, a2 is the first term of the sequence of first differences (a1 would be the first term of the original sequence), and d2 is the constant difference between each term in the sequence of first differences (which we will call the 'second difference'). ## 3. Derivation of the Formula -Using the approach we naturally used to find that 11 was the fifth term in the original sequence earlier, we can model the sequence as a recursive problem: +Taking inspiration from how we intuitively found that 11 was the fifth term in the original sequence earlier, we model the sequence as a recurrence problem: T1 = a1; @@ -64,13 +61,13 @@ Note that it is (d1)n-1 and not (d1)n1)n = Tn+1 - Tn +(d1)n = Tn+1 - Tn, and not (d1)n = Tn - Tn-1. -Moving on, we expand---or "unfold"---the recursive formula to try and spot some patterns we could use to find a closed-form solution: +Moving on: we expand---or "unfold"---the recursive formula to try and spot some patterns we could use to find a closed-form solution: Tn = Tn-1 + (d1)n-1 @@ -141,16 +138,32 @@ Tn = a1 + (n - 1)a2 + 1/2(n - 2)(n - 1)d2< = 1/2(n)2 - 1/2(n) + 1. -Which matches what I wrote on the [preamble](/2nd-diff#preamble). -You can try out a few examples to check for any counter-examples, but you will not know for certain if it will always be correct unless you prove it, which will be talked about in the next section. +Which matches what I wrote in the [introduction](/2nd-diff#intro). +You can try out a few examples to check for any counter-examples, but you will not know for certain if it will always be correct unless you prove it, which is what we will do in the next section. ## 4. Proof by Mathematical Induction Continuing from the previous section: the derivation makes sense, and we can try a few examples, but how do we know for sure that there is no counter-example somewhere we did not check? We need to be mathematically rigorous to show our formula will always work. -Fortunately, there is a convenient method called "proof by induction" that fits nicely for our sequences situation. -If we show that our formula is true for a base case and also that it is true for any n if it was true for (n - 1), we can confidently conclude that the formula is true for all n. +Fortunately, there is a convenient method called "proof by induction" that fits nicely into our sequences situation. +If we show that our formula is true for a base case and also that it is true for any n if it was true for (n - 1), we can confidently conclude that the formula is true for all positive integer n. + +### 4.2 Base Case + +Plugging in the formula for T1: + +T1 = a1 + (n - 1)a2 + 1/2(n - 2)(n - 1)d2 + += a1 + (1 - 1)a2 + 1/2(1 - 2)(1 - 1)d2, for n = 1 + += a1 + (0)a2 + 1/2(-1)(0)d2, for n = 1 + += a1 + 0 + 0 + += a1. + +Which matches our definition, hence proving that the formula is true for n = 1. ### 4.1 Induction Step @@ -195,28 +208,11 @@ Tn = a1 + ((n - 1) - 1)a2 + 1/2((n - 1) - 2)((n = a1 + (n - 1)a2 + 1/2(n - 2)(n - 1)d2 That matches our formula, and hence proves that the formula will hold true for any n if (n - 1) is true. -However, we are still missing our base case (n = 1), which is covered in the next subsection. - -### 4.2 Base Case - -Plugging in the formula for T1: - -T1 = a1 + (n - 1)a2 + 1/2(n - 2)(n - 1)d2 - -= a1 + (1 - 1)a2 + 1/2(1 - 2)(1 - 1)d2, for n = 1 - -= a1 + (0)a2 + 1/2(-1)(0)d2, for n = 1 - -= a1 + 0 + 0 - -= a1. -Which matches our definition, and hence proves that the formula is true for n = 1. -Combining that with the earlier [induction step](/2nd-diff#step), we get that it is also true for n = 2, n - 1 = 1. -Then that also shows that the formula is true for n = 3, n - 1 = 2. -This then continues on infinitely, which shows that our formula holds true for any n. +### 4.3 Conclusion -QED. +Combining the [base case](/2nd-diff#base) with the [induction step](/2nd-diff#step), we get that it is also true for n = 2 (as it is true for n = 1), which also shows that the formula is true for n = 3 (as it is true for n = 2) and so on. +This continues infinitely, showing our formula holds true for any positive integer n. QED. ## 5. Conclusion diff --git a/_site/404.html b/_site/404.html index e7c6c86..08f89c2 100644 --- a/_site/404.html +++ b/_site/404.html @@ -9,16 +9,16 @@ - - + + +{"@context":"https://schema.org","@type":"WebPage","description":"Technical blog","headline":"de_soot","url":"http://localhost:4000/404.html"} - +