遊びの数論60 ウォルステンホームの定理

[遊びの数論] 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

遊びの数論59』の続き。誤字脱字・間違いがあるかも。


✿ ✿ ✿ ✿ ✿


2026-05-21 指標としてのルジャンドル記号

mod 11 の 11 種の数のうち、 11 の倍数を除く 10 種
  1, 2, 3, ···, 10
のそれぞれは、順序の違いを無視すれば
  20, 21, 22, ··· , 29 あるいは同じことだが 21, 22, 23, ··· , 210
の形の 10 個の数によって、過不足なく表現される。例えば、
  24 = 16 ≡ 5 (mod 11)
なので、この場合 5 という数は、指数(インデックス) 4 に対応:
  Ind 5 ≡ 4 (mod 10)

さて 20 = 1, 22 = 2, 23 = 4, ··· であるが、 mod の 11 は素数なので、フェルマー(Fermat)の小定理から
  210 ≡ 1, 211 ≡ 2, 212 ≡ 4, ·· ·
でもある。 x が 1 ずつ増えるときの 2x の値は、周期 10 で同じパターン(1, 2, 4, 8, 5, ·· ·)の繰り返し。特に「x 乗される数」の 2 は(2 に限らず 10 の倍数以外の任意の整数は)10 乗されると ≡ 1 に戻るという性質を持つ―― mod 11 の世界では。

普通の数の世界にも「10乗されると = 1 になる数」(1 の10乗根)がある。例えば y = 1 や y = −1 は、明らかに y10 = 1 を満たす。その他にも(一見しただけでは分からないかもしれないけど)、
  (1/4)(−1 + 5) + (i/4)(10 + 25)
などの「1 の原始5乗根」や、
  (1/4)(1 + 5) + (i/4)(10 − 25)
などの「1 の原始10乗根」も、 10 乗されると = 1 にな

10乗されると ≡ 1 になる「11 の原始根」(例えば 2)の代わりに、10乗されると 1 になる「1 の10乗根」(例えば −1)を使ってみたらどうかしら――という素朴な発想が、奥の深い世界への入り口となる。

† これらの根号表現はやや複雑だが、指数関数を使えば、簡単に e2πi/5 ないし e2πi/10 と書ける。一般に d 乗されると 1 になる数(1 の d 乗根)の代表例は ζ = e2πi/d と表現可能(d ≥ 1)。任意の整数 c に対して ζc = e2πic/d は、どれも同じ性質(ζc = 1)を持つ(c = 1 の場合が ζ)。

✿

11 の倍数を除く mod 11 の各種の数 N について、それぞれの指数 x ≡ Ind N (mod 10) を考える(表3参照)。 −1 ――それは 1 の10乗根の一つである――の x 乗を、 N に対応する「指標」とすると、次の通り。

† mod 11 の世界のインデックス(指数)は mod 10。一般に mod p の世界のインデックスは mod p − 1

【表6】 N mod 11 における指数と指標の例
実際の数 N ≡ 2x12345 678910
指数 x ≡ Ind N 01824 97365
指標 (−1)x 1−1111 −1−1−11−1

この場合、指標(の値)は 1 または −1 で、 1 ならば N は平方剰余、 −1 ならば非剰余(mod 11 において)。例えば N = 3 に対して r2 ≡ 3 (mod 11) は解を持つが(52 = 25 ≡ 3)、 N = 6 に対して r2 ≡ 6 (mod 11) は解を持たない。

当然だ――この指標が 1 ⇔ 指数 x が偶数 2k なので、そのとき N ≡ 22k ≡ (2k)2 は r ≡ 2k の平方。指標が −1 ⇔ 指数が奇数のときは、同様のことが成り立たない。オイラーの基準で判定するなら、もし指数が偶数 2k なら p = 11 を法として:
  N ≡ 22k ⇒ N(11−1)/2 ≡ (22k)5 ≡ (210)k ≡ 1
右端の ≡ は、フェルマーの小定理による。一方、もし指数が奇数 2k + 1 なら:
  N ≡ 22k+1 ⇒ N(11−1)/2 ≡ (22k+1)5 ≡ (22k⋅2)5 ≡ (210)k⋅25 ≡ 1⋅25 ≡ −1
2 は 11 の原始根なので 10 乗して始めて ≡ 1 になり、 25 ≢ 1。

すなわち、この指標 (−1)x = (−1)Ind N は、
  Legendre 記号 (N/11)
と同じ値を持つ! Legendre 記号は、指標の一種(少なくともこの場合においては)。

1 の10乗根 ζ は 10 種類ある。そのうち ζ = −1 を選択すると Legendre 記号と同等になるとしても、それは「指標」の世界の氷山の一角に過ぎない。とはいえ、それはそれで重要な事実だし、最初から全体像を把握しようとするのは困難だろう。とりあえず、簡単な具体例で様子を見てみたい。

✿

上記の例では mod 11 の世界の全種類の数(11 の倍数を除く)に、原始根 ɡ = 2 をてい とするインデックスを付けた。つまり mod 11 の数 N を N ≡ 2x の形で表した。 11 の倍数は mod 11 では ≡ 0 であり、 x としてどんな整数を選んでも
  2x ≡ 0 (mod 11)
にはできないので、 11 の倍数が除外されること(インデックスが付けられないこと)は当然だろう。

それは、次の(当たり前の)ことと、似ている――つまり x にどんな実数(あるいは複素数)を入れても
  2x = 0
は、成り立たない。言い換えれば
  log2 0
は、定義されない。

ところで ɡ = 2 は 11 の原始根(複数ある)の一つに過ぎない。そのような「勝手に選んだ」一つの原始根 ɡ = 2 を基準とするインデックス x ≡ Ind N を使って、等式
  (N/11) = (−1)Ind N
が成り立つと主張する場合、当然ながら「それは ɡ という数の選択にもよるのでは?」という疑念が生じる。

この点を検討してみたい。

✿

11 の原始根 ɡ は(2 がその例だが)、正の指数としては、 10 乗されて初めて ≡ 1 (mod 11) になる。言い換えると、
  21, 22, 23, ···, 210
の 10 個の数は mod 11 でどれも不合同(11 で割った余りが異なる)。 210 が ≡ 1 になることは、フェルマーの小定理によって保証されている。 11 の原始根として 2 以外にどんな選択肢があるだろうか。例えば 22 = 4 を候補と考えたとしても 5 乗するだけで ≡ 1 になってしまう。つまり 4 は原始根ではない:
  45 = (22)5 = 210 ≡ 1

実際 45 = 1024 = 990 + 34 だが、 990 は 11 で割り切れる。残りの 34 を 11 で割ると 1 余る。

同様に 25 = 32 ≡ −1 は 2 乗するだけで ≡ 1 になってしまうので、原始根ではない。一般に ɡ が「10 乗して初めて ≡ 1 になる数」のとき、もし a が 10 の約数 2 や 5 だとしたら、 ɡa は 10/a 乗するだけで ≡ 1 になってしまい、原始根の条件を満たさない。のみならず ɡ4 も駄目。だって 5 乗するだけで、
  (ɡ4)5 = ɡ20 = (ɡ10)2 ≡ 12 = 1
になってしまう。同様の理由から ɡ6 や ɡ8 も駄目。一般に:

定理5 ɡ が(正の)素数 p の原始根のとき――つまり ɡ が「p − 1 乗されて初めて ≡ 1 (mod p) になる数」のとき――、もし a が p − 1 の(2 以上の)約数だとしたら ɡa は原始根ではない。 a が p − 1 の約数ではないとしても、 a と p − 1 が(2 以上の)公約数を持つとしたら ɡa は原始根ではない。

証明 a と p − 1 の最大公約数を d とする。 a = dm, p − 1 = dn と書くことができる。ここで m, n は整数。最後の等式から n = (p − 1)/d なので、もし d が 2 以上なら、 n は p − 1 より小。さて、
  an = (dm)n = (dn)m = (p − 1)m
なので、 a という数を n 倍すると p − 1 の倍数になる。そのことから、
  (ɡa)n = ɡan = ɡ(p−1)m = (ɡp−1)m ≡ (1)m (mod p)
であり、 ɡan 乗されると ≡ 1 になる。従って、もし n が p − 1 より小さいのなら、 ɡa は原始根の条件を満たさない。∎

一方、もし a と p − 1 が 2 以上の公約数を持たないなら(つまり両者が互いに素なら)、 ɡa は n = p − 1 乗されて初めて ≡ 1 になる。よって、 ɡ が p の一つの原始根なら、
  ɡ1, ɡ2, ···, ɡp−1
のうち、指数が p − 1 と互いに素なものは、どれも p の原始根(そして p には、それ以外の種類の原始根はない)。 mod 11 の場合、原始根 ɡ = 2 を例とすると、
  21, 22, ···, 210
のうち、次の四つだけが原始根:
  21 = 2 と 23 = 8 と 27 = 128 ≡ 7 と 29 = 512 ≡ 6 (mod 11)

✿

mod 11 において 8 を底とする指数を Ind8 で表すと:
  81 = 8 よって Ind8 8 = 1
  82 = 64 ≡ 9 よって Ind8 9 = 2
  83 = 512 ≡ 6 よって Ind8 6 = 3
   ︙

従来の 2 を底とする指数を Ind2 で表し、両者を比較すると表7の通り。

【表7】 N mod 11 における2種類の指数の例
N12345 678910
Ind8 N 07648 39125
Ind2 N 01824 97365

一見ランダムにシャッフルされているようだが、明確なパターンがある。 8 = 23 なので、 N = 8x なら N = (23)x = 23x だ。つまり 8 を底とする指数と比べると、 2 を底とする指数は、ちょうど 3 倍。 N ≡ 8, 9, 6 の欄を見ると、確かに Ind8 N ≡ 1, 2, 3 に対して Ind2 N ≡ 3, 6, 9 で、それぞれインデックスが 3 倍されている。 Ind2 N の欄の数値の 3 倍が 10 以上になる場合も理論的には全く同様だが、 mod 11 のインデックスは 10 を法とするので、 12 ≡ 2 (mod 10), 15 ≡ 5 (mod 10) のように 10 で割った余りで簡約可能。

要するに Ind8 の欄の各数を 3 倍した数の 1 の位が、 Ind2 の欄に記されている! 式で書けば:
  Ind2 N ≡ 3 Ind8 N (mod 10)

ここで変換の係数 3 は、
  8 ≡ 23 つまり Ind2 8 ≡ 3 (mod 10)
に由来する。より一般的に、 ɡ と h をどちらも素数 p の原始根だとして、 Indɡ のインデックスを Indh のインデックスに変換したいとしよう。 ɡ は原始根なので、あらゆる種類の数(≡ 0 のものを除く)が ɡx の形で表現可能。よって
  ɡa ≡ h (mod p)  ‥‥①
を満たす a が存在する(h も原始根なので h ≢ 0)。このとき:
  N ≡ hb ならば N ≡ (ɡa)b = ɡab (mod p)
  ∴ Indh N ≡ b ならば Indɡ N ≡ ab (mod p − 1)  ‥‥②

②では b ≡ Indh N (mod p − 1) と仮定している。①は a ≡ Indɡ h (mod p − 1) を含意するので、結局②は次を意味する:
  Indɡ N ≡ ab ≡ a Indh N ≡ (Indɡ h)(Indh N) (mod p − 1)  ‥‥③

つまり、与えられた数 N について、もともとの底 ɡ を基準とした N のインデックス Indɡ N は、新しい底 h を基準としたインデックス Indh N から見ると、 Indɡ h 倍である。 mod 11 において Ind2 N は Ind8 の 3 倍だったように(3 = Ind2 8)。

③の両辺を Indh N で割って、左辺と右辺を入れ替えると:

Indh N ≡ (Indɡ N)/(Indɡ h) (mod p − 1)

ここで 1/(Indɡ h) は mod p − 1 における Indɡ h の逆数を表す。仮定により h は原始根なので、定理5により h = ɡa の a は――すなわち Indɡ h は―― p − 1 と互いに素(2 以上の公約数を持たない)。よって p − 1 を法として a の逆数が存在する。[ちなみに、上記の変換公式は、 log の底の変換公式
  logB A = (logc A)/(logc B)
と全く同じ形式。 Ind も対数(離散対数)の一種なので、普通の対数と同様の性質を持つのは、不思議ではない。]

今 p を 5 以上の(従って奇数の)素数とする。もし最初に記したように、 1 の p − 1 乗根として −1 を選んだときの指標が、原始根の選び方と無関係に一貫して Legendre 記号の値と一致するとしたら、 p の倍数以外の任意の数 N について、次の性質が成り立つ必要がある。すなわち、「p の一つの原始根 h を基準としたインデックス y と、(別の種類の)原始根 ɡ を基準としたインデックス x のどちらを使っても、 (−1)x と (−1)y の値は等しい」、言い換えれば「2種類のインデックス Indɡ N, Indh N は、偶奇が一致する」。そのことは、次のように証明される。

仮定により p − 1 は偶数なので、③は、
  Indɡ N ≡ a Indh N (mod 2)
を含意する。この a は、偶数 p − 1 と互いに素なので、奇数。よって上の式の左辺は、 Indh が偶数か奇数かに応じて、偶数ないし奇数になる。原始根 ɡ, h の選択は任意なので、 ɡ と h の値を入れ替えても(旧 ɡ を h として、旧 h を ɡ とする)、今述べたことがそのまま成り立つ。結局、これら2種類の原始根に関連して、一方のインデックスが偶数か奇数かに応じて、他方のインデックスも偶数ないし奇数になる。

最後に p = 3 の場合には、原始根は 1 (mod 3) の1種類しか存在しない。よって「底の変換」が生じる余地はない。

結論。 p が 3 以上の素数のとき、 Legendre 記号の値 (N/p) は、指標 (−1)Ind N と一致し、そのことは Ind N の基準となる原始根の選択に依存しない。ここで N は、 p の倍数以外の任意の整数。

✿ ✿ ✿


2026-05-25 きれいな「ウォルステンホームの定理」

1 + 1/2 + 1/3 + 1/4 = (12 + 6 + 4 + 3)/12 = 25/12

この分子は 52 で割り切れる。同じ足し算に2項追加すると…

1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 = 25/12 + 1/6 + 1/5
   = (25 + 2)/12 + 1/5 = 9/4 + 1/5 = (45 + 4)/20 = 49/20

この分子は 72 で割り切れる。同様に、次の分子は 112 で割り切れる(付録A参照):

1 + 1/2 + 1/3 + ··· + 1/10 = 11 × 11 × 61/2520

p が 5 以上の素数のとき、上記のように p − 1 個の分数を足し算すると、分子が p2 の倍数に! 計算自体は「簡単な算数」だが、なぜそうなるかの説明は、それほど簡単ではない。2010年代に Aebi & Cairns がうまい証明法を公表したので、それを…

✿

このメモの証明法はエレガントだが、トリッキーともいえる。次回、実直な別証明を記す。

Wolstenholme (ウォルステンホーム)の定理と呼ばれるのは、英国の Joseph Wolstenholme が1862年に発表した三つの命題、特にその一つ目。「古典数論」の範囲とはいうものの、19世紀後半の比較的新しい発見だ。いわく:

p が 5 以上の素数のとき、
  1 + 1/2 + 1/3 + ··· + 1/(p − 1)
という和を計算すると、その分子は p2 で割り切れる。


感嘆符 ! は
階乗を表す

3! = 1⋅2⋅3 = 6
4! = 1⋅2⋅3⋅4 = 24
etc.


この場合の分子は、約分された分数の分子でもいいし、約分前の分子でもいい。というのも、単純に全体を通分して一気に足し算するとしたら、そのときの分母は、
  (p − 1)! つまり 1⋅2⋅3···(p − 1)
という積。この分母と「足し算後の分子」の間で多少の約分をしたとしても、分母には素因子 p が含まれていないのだから、約分のせいで分子の因子 p が消えることはない(もちろん増えることもない)。つまり、約分するかしないかは、分子が p で割り切れるか、 p2 で割り切れるか、といったことに影響しない。

上記の観察をちょっと応用すると:
  S = 1 + 1/2 + 1/3 + ··· + 1/(p − 1)
という分数の和の分子を考える代わりに、それを (p − 1)! 倍した整数を考えても同じこと(右辺の各項は (p − 1)! 倍されれば整数になるから、問題は整数の足し算になる)。その整数が p で割り切れるかどうか?は、もともとの分子が p で割り切れるかどうか?と一致する。 (p − 1)! 倍されても(その結果、多少の約分が起きたとしても)、因子 p の数は増えも減りもしないから。

〔例〕 p = 5 とする。 S = 1 + 1/2 + 1/3 + 1/4 = 25/12 の分子が p で割り切れるか(p2 で割り切れるか)を考える代わりに、両辺を 4! = 1⋅2⋅3⋅4 = 24 倍して、 24S = 50 が p で割り切れるか(p2 で割り切れるか)を考えても同じこと。分母・分子が整数であるような分数を 24 倍しても、分子に因子 5 が追加されないことは明らか(24 は 5 の倍数ではないのだから)。

Wolstenholme の定理の証明では、そうしたければ、いつでも和を (p − 1)! 倍してもいい。その事実と次のトリックを組み合わせると、証明が簡単に。

トリック p を 3 以上の素数として、整数 a が 0 < a < p の範囲にあるとする。 mod p (あるいは mod p2)における a の逆数(後述)と、普通の意味での整数 a の逆数 1/a は、もしどちらも (p − 1)! 倍されるのなら、 mod p (あるいは mod p2)において同じ種類の数(合同)になる。

〔例〕 mod 7 における a = 3 の逆数 x とは 3x ≡ 1 を満たすような数。言い換えると、 3 倍して 7 で割ると 1 余るような数。 5 が条件を満たす: 3⋅5 = 15 を 7 で割ると 1 余るので、この意味での a = 3 の逆数は 5。その 5 を
  6! = 1⋅2⋅3⋅4⋅5⋅6 = 720
倍すると:
  5⋅720 = 3600  ア
一方、普通の意味での a = 3 の逆数 1/3 を 6! 倍すると:
  720/3 = 240  イ
アとイは、どちらも 7 で割ると 2 余るので、 mod 7 では同じ種類の数。

✿

「トリック」の証明の前に、念のため「mod p での逆数」について…

mod p での a の逆数 x ≡ a−1 とは、 ax ≡ 1 (mod p) を満たすような x だ(正式名称「乗法逆元」)。 a ≡ 0 の場合を別にすると、このような x は、必ずちょうど1種類、存在する。 mod 7 の例では:
  1−1 ≡ 1 なぜなら 1⋅1 ≡ 1
  2−1 ≡ 4 なぜなら 2⋅4 ≡ 8 ≡ 1
  3−1 ≡ 5 なぜなら 3⋅5 ≡ 15 ≡ 1
従って、逆に言えば:
  4−1 ≡ 2 そして 5−1 ≡ 3
最後に:
  6−1 ≡ 6 なぜなら 6⋅6 ≡ 36 ≡ 1
この場合 6 ≡ −1 と考えれば −1 の逆数が −1 自身であることは明白だろう。 mod 7 では 6 と −1 は合同(同じ種類)なので、「6 の逆数は 6」と言おうが「6 の逆数は −1」と言おうが同じ意味。「−1 の逆数は −1」「−1 の逆数は 6」とも言える。この柔軟さ・自由さが剰余演算(mod)の特徴で、普通の整数・有理数と少し違う。

mod p において 0 と不合同な数には必ず逆数が存在する――という事実については、証明が必要。証明法はいろいろあるが、手っ取り早いのは、フェルマー(Fermat)の小定理 ap−1 ≡ 1 (mod p) によるもの。直ちに a⋅ap−2 ≡ 1 (mod p) となって、 a の逆数が ap−2 であることが確定する(よって逆数は存在する)。同様に、オイラー(Euler)の定理から mod p2 においても、 p の倍数以外の数には、必ず逆数が存在する。

✿

「トリック」の証明 仮定により、整数 a は 0 < a < p の範囲にある。 mod p での a の逆数を a−1 とし、 a−1 と合同な整数を任意に一つ選んで、その整数を b としよう:
  b ≡ a−1 (mod p)

整数 b の (p − 1)! 倍は
  b⋅(p − 1)!
であるが、この整数に、整数 (1/a)⋅a = 1 を掛けても、もちろん値は変わらない:
  (1/a)⋅a⋅b⋅(p − 1)! = a⋅b⋅(p − 1)!/a
(a の範囲についての仮定から、右端の分数は割り切れて整数になる。)今、上記の整数を mod p で解釈してみる。仮定により b ≡ a−1 なので a⋅b ≡ a⋅a−1 ≡ 1 (mod p) であり、上記の整数は mod p において、
  (p − 1)!/a
と合同。ところが、この最後の分数(値は整数)は、普通の意味での分数 1/a の (p − 1)! 倍(を mod p で解釈したもの)でもある。要するに、普通の意味での分数 1/a と、 mod p での a の逆数 a−1 は、それぞれ (p − 1)! 倍されるなら、 mod p において合同(同じ種類の数になる)。∎

〔参考〕 上記では、法を p とした(mod p)。法を全部 p2 に置き換えても、この証明はそのまま有効。今回のメモでは、そのバージョンを使わない。

以下では次の性質も使われる。

補助命題 mod p において (−a)−1 ≡ −(a−1) が成り立つ。従って:
  a−1⋅(−a)−1 ≡ −[a−1⋅a−1] ≡ −[a−2]

a−2 とは (a−1)2 のこと。あるいは (a2)−1 のこと。

証明 b ≡ a−1 ならば (−a)−1 ≡ −b。

これは「−1 倍された数の逆数」は「逆数の −1 倍」と同じ、ということを言っている。実際、仮定により ab ≡ 1 だから (−a)(−b) ≡ ab ≡ 1。

このとき、第2式の b に第1式から代入すると:
  (−a)−1 ≡ −(a−1)
後は単純計算。∎

✿

以下の証明のこつは、足し算される偶数個の数たちを両端から二つずつペアにしていくこと。例えば p = 7 の場合:
  S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6
を次の三つの部分和に分けて考える:
  A = 1 + 1/6 = (6 + 1)/(1⋅6)
  B = 1/2 + 1/5 = (5 + 2)/(2⋅5)
  C = 1/3 + 1/4 = (4 + 3)/(3⋅4)
それぞれの部分和の分子が p = 7 に等しいことに注目。
  S = A + B + C = 7/(1⋅6) + 7/(2⋅5) + 7/(3⋅4)
   = 7[(1/1)(1/6) + (1/2)(1/5) + (1/3)(1/4)]

この S が 7 の倍数であることは明白だが、もし [ ] 内の和の分子も 7 の倍数になるとしたら(実はなるのだが)、 S の分子は 72 の倍数になる。それを示すには、整数
  [(1/1)(1/6) + (1/2)(1/5) + (1/3)(1/4)]⋅6!
が、 7 の倍数であることを言えばいい(分数の和を整数化するため (7 − 1)! を掛け算したが、前述のように、この操作は結論に影響しない)。例の「トリック」によって、上記の整数は mod 7 において次の数と合同:
  [1−1⋅6−1 + 2−1⋅5−1 + 3−1⋅4−1]⋅6!
mod 7 では 6 は −1 と合同、 5 は −2 と合同、等々なので:
   ≡ [1−1⋅(−1)−1 + 2−1⋅(−2)−1 + 3−1⋅(−3)−1]⋅6!
補助命題から:
   ≡ −[1−2 + 2−2 + 3−2]⋅6!  ウ
ここでは −2 乗を mod 7 における「平方の逆数」と解釈する。
  6 ≡ −1 の平方は 1 の平方と合同
  5 ≡ −2 の平方は 2 の平方と合同
  4 ≡ −3 の平方は 3 の平方と合同
であるから、ウを次のように書いてもいい:
  −[6−2 + 5−2 + 4−2]⋅6!  エ
同じ意味の二つの式ウ・エを足して 2 で割ると、結局ウと同じことになる:
  −[1−2 + 2−2 + 3−2 + 4−2 + 5−2 + 6−2]⋅6!/2  ←ウ と同じこと
今度は −2 乗を「逆数の平方」と解釈すると:
   ≡ −[(1−1)2 + (2−1)2 + (3−1)2 + (4−1)2 + (5−1)2 + (6−1)2]⋅6!/2
   ≡ −[12 + 22 + 32 + 42 + 52 + 62]⋅6!/2
   = −[6⋅7⋅13/6]⋅6!/2

下から2行目の式が生じる根拠は次の通り。 mod 7 において(0 と不合同な)別の種類の数 1, 2, 3, 4, 5, 6 は、それぞれ(0 と不合同な)別の種類の逆数を持つ(逆数が自分自身と同種、ということは可能だが、逆数が別種の数の逆数と同種、ということは不可能)。要するに 1−1, 2−1, 3−1, 4−1, 5−1, 6−1 の一つ一つは 1, 2, 3, 4, 5, 6 のどれかと合同で、前者と後者は(適切に並び替えるなら)1対1対応。――最後の等号は、2乗和の公式
  12 + 22 + 32 + ··· + n2 = n(n + 1)(2n + 1)/6
による。

ここで 1/61/2 は「普通に 6 ないし 2 で割る」という意味。結局、
  −[6⋅7⋅13/6]⋅6!/2 = −7⋅13⋅(6⋅5⋅4⋅3⋅1)
となって、この数は明らかに 7 の倍数(言い換えると mod 7 において ≡ 0)。それが証明したいことだった!

✿

以上は p = 7 という特定のケースについての検討だが、一般の場合の証明も全く同じ流れ。

p を 5 以上の任意の素数とする。 p − 1 項(偶数項)の和
  S = 1/1 + 1/2 + 1/3 + ··· + 1/(p − 3) + 1/(p − 2) + 1/(p − 1)
を両端から二つずつペアにすると、「二つの分数の和」が (p − 1) ∕ 2 組できる。それらの総和を簡潔に表記すると:
  S = {k=1 to (p−1)/2} (1/k + 1/(p − k))
各ペアの和は、
  1/k + 1/(p − k) = ((p − k) + k)/[k(p − k)] = p/[k(p − k)]
の形になるので、それぞれから p をくくり出すと:
  S = p⋅{k=1 to (p−1)/2} 1/[k(p − k)] = p⋅{k=1 to (p−1)/2} 1/k1/(p − k)
この(p をくくり出した後の)総和が、もう一度 p で割り切れることを示したい。例のトリックによって、この総和は mod p において、次の数と合同:
  (p − 1)!⋅{k=1 to (p−1)/2} [k−1⋅(p − k)−1]
因子 (p − 1)! は p で割り切れるか否かと無関係なので、以降これを無視する。 mod p では p − k ≡ −k であることに留意すると、上の総和は:
   ≡ {k=1 to (p−1)/2} [k−1⋅(−k)−1] ≡ −{k=1 to (p−1)/2} (k2)−1  オ

k = 1 のときの k2 は k = −1 のときの k2 と合同、そして mod p では −1 と p − 1 は同じ意味。 k = 2 のときの k2 は k = −2 のときの k2 と合同、そして mod p では −2 と p − 2 は同じ意味。…等々なので、次のように k の範囲を 2 倍にして足し算の項数を 2 倍に増やすと、和もちょうど 2 倍に。
  −{k=1 to p−1} (k2)−1 ≡ −{k=1 to p−1} (k−1)2  ← オの 2 倍

値が 2 倍されようが再び半分になろうが「その数が p で割り切れるか否か」は変わらないので、ここでは 2 で割る処理を省く(p = 7 の例のときは一応 1 ∕ 2 を付けたが)。先頭のマイナスも、この総和が p で割り切れるか否かと無関係なので、無視。 k が 1 から p − 1 まで動くとき、 k−1 は、 mod p の(0 と不合同な)全種類の値 ℓ = 1, 2, ···, p − 1 と(何らかの順序で)ちょうど一度ずつ合同になすなわち:
  {k=1 to p−1} (k−1)2 ≡ {ℓ=1 to p−1} (ℓ)2 = (p − 1)⋅p⋅(2(p − 1) + 1)/6
最後の等号は2乗和の公式
  12 + 22 + 32 + ··· + N2 = N⋅(N + 1)⋅(2N + 1)/6
から(N = p − 1)。分子の因子 p は 5 以上の素数なので、分母 6 との約分によって消えることはな結局、 S の分子を p で割った商は、もう一度 p で割り切れる。∎

† 総和記号の変数名は重要でない。 ℓ に変えずに k のままでもいいし、あるいは ℓ = k−1 と置換したと考えてもいい。

‡ 素数でも p = 3 だったら、因子 p は約分され消えてしまい、うまくいかない。この定理に p ≥ 5 という条件があるのも、そのせい。

✿

Wolstenholme の定理は、それ自体として興味深いだけでなく、さまざまに応用・拡張されている。このメモではオリジナル版の三つの命題のうち、最も有名な一つ目を紹介した。証明法は Aebi & Cairns (2012) のアイデアに基づく。

普通の分数(有理数)としての 1/k と mod p の k−1 の関係は、自明とはいえない。「トリック」の根拠を明確にするため、 Hardy & Wright, §7.8 の論法を併用した。 (p − 1)! を掛け算しているのはそのため。最初から mod p ないし mod p2 だけで議論するなら、この掛け算を省略できる。

関連リンク Wolstenholme の問題113番 | 再挑戦! ウォルステンホームの定理

References:
1) Wolstenholme, J. (1862), On Certain Properties of Prime Numbers
https://gdz.sub.uni-goettingen.de/download/pdf/PPN600494829_0005/LOG_0010.pdf
https://gdz.sub.uni-goettingen.de/id/PPN600494829_0005?tify=%7B%22pages%22%3A%5B43%5D%2C%22view%22%3A%22%22%7D
2) G. H. Hardy & E. M. Wright (1938, 1960, etc.), An Introduction to the Theory of Numbers, §7.8
https://archive.org/details/hardy-wright-theory_of_numbers/page/88/mode/1up
3) 華羅庚 (1957), 數論導引 / Hua Loo Keng, Introduction to Number Theory (1982), §2.10
4) Christian Aebi & Grant Cairns (2012, 2013), Morley’s other miracle
https://arxiv.org/abs/1302.3678
5) Christian Aebi & Grant Cairns (2012), Sylvester’s, Wolstenholme’s, Morley’s and Lehmer’s Congruence Theorems Revisited
https://arxiv.org/abs/1201.6559

✿ ✿ ✿


2026-05-27 再挑戦! ウォルステンホームの定理 易しい別証明

ウォルステンホームの定理というのは、 p が 5 以上の素数のとき、
  1 + 1/2 + 1/3 + ··· + 1/(p − 1)
を計算すると、分子が p2 の倍数になる――というもの。

前回、面白がって21世紀のエレガント(?)な証明を紹介したが、少々トリッキーな面があった。実直なアプローチでリトライしたい。今回の別証明のいいとこは「2乗和の公式」を知らなくても問題ないこと、総和記号も必要ないこと、そしてなにより、「有理数 1 ∕ a と mod p の a−1 を同一視」というトリック(巧妙だが分かりにくい)に依存しないこと。手法自体にも価値があり、ついでにウィルソンの定理も証明される。

簡単なことのようにスラスラ書いてるけど、実は小さい頃、この定理を証明しようとして苦労した。たまたま現象に気付き、ひどく好奇心を刺激されたものの、 Wolstenholme の定理という名前も知らなかったので、文献を調べようもなかった。

✿

あんまり関係ないけど、「解が α, β の2次方程式 x2 − Ax + B = 0 を (x − α)(x − β) = 0 と書くこともできる」ってのをご存じの方も多いだろう。実際 x = α のとき、
  (x − α)(x − β) = (α − α)(α − β) = 0⋅(α − β) = 0
なんで、 α は確かに「式の値 = 0」を満たす。同様に β も。 (x − α)(x − β) を展開すれば、
  x2 − (α + β)x + αβ
なので――そして、この2次式は、もともとの2次式 x2 − Ax + B と全く同じ根を持ち、つまり両者は多項式として等しいので――
  A = α + β, B = αβ
となる。等しい多項式は、最高次の係数が同じなら、もちろん残りの係数(定数項も含めて)も全部同じなんで。

同様に、根が α, β, γ の3次式 x3 − Ax2 + Bx − C を (x − α)(x − β)(x − γ) と書くことができ、両者は多項式として等しい。後者を展開すると(途中計算略)、
  x3 − (α + β + γ)x2 + (αβ + αγ + βγ)x − αβγ
となって、もともとの式との係数の比較から
  A = α + β + γ, B = αβ + αγ + βγ, C = αβγ
が成り立つ。 {α, β, γ} から一つずつ抜き出して足したものが A、二つずつ抜き出してそれらの積を足したものが B、三つずつ抜き出して積を作ったものが C、という関係になっている。

同様のことは4次式以上でも成り立つ。

✿

さて p を 5 以上の素数とする。フェルマー(Fermat)の小定理から、 p − 1 種類の数
  x = 1, 2, ···, p − 1
は、どれも xp−1 ≡ 1 (mod p) を満たす。言い換えると、(mod p における) p − 1 次方程式
  xp−1 − 1 ≡ 0 (mod p)
の解。従って、同じ方程式を、こう書くことができる:
  (x − 1)(x − 2)(x − 3)···(x − (p − 1)) ≡ 0 (mod p)  カ

2次方程式・3次方程式などからの類推でいえば、 α = 1, β = 2, γ = 3 などが解なので、
  (x − α)(x − β)(x − γ)···
というわけ。 p − 1 次方程式なので、解は p − 1 種類ある。

カの左辺(の偶数個の因子)を展開して整理すると、次のような感じになる(内容は単純なのだが、普通の式では書きにくい。下の具体例を見てもらった方が分かりやすいかと)
  xp−1
   − [1 + 2 + ··· + (p − 1)]xp−2
   + [1⋅2 + 1⋅3 + ···]xp−3
   − [1⋅2⋅3 + 1⋅2⋅4 + ···]xp−4
   ︙
   − [1⋅2···(p − 3)(p − 2) + ···]x
   + [1⋅2⋅⋅⋅(p − 1)]

意味。 xp−1 の係数は 1。その次の項の係数は、 p − 1 個の整数 1, 2, ··· , p − 1 の和(の符号を変えたもの)。そのまた次の係数は、同じ p − 1 個の整数から、二つずつ(相異なる数の全部の組み合わせをちょうど一回)選んで掛けたものの和。そのまた次は、三つずつ選んで掛けたものの和(の符号を変えたもの)。…以下同様に「四つずつの積の和」等々を経て、最後の係数(定数項)は「p − 1 個ずつの積の和」(これは 1 種類しかない。要するに p − 1 個の整数の積)。

〔例1〕 p = 5 の場合。
  (x − 1)(x − 2)(x − 3)(x − 4) = (x − 1)(x − 4) × (x − 2)(x − 3) = (x2 − 5x + 4)(x2 − 5x + 6)
x2 − 5x を y とすると:
   = (y + 4)(y + 6) = y2 + 10y + 24 = (x2 − 5x)2 + 10(x2 − 5x) + 24
   = (x4 − 10x3 + 25x2) + (10x2 − 50x) + 24
   = x4 − 10x3 + 35x2 − 50x + 24
ここで係数の絶対値は、 {1, 2, 3, 4} の一つずつの和:
  1 + 2 + 3 + 4 = 10
二つずつの積の和(順序を区別しない全パターンのペア):
  (1⋅2 + 1⋅3 + 1⋅4) + (2⋅3 + 2⋅4) + 3⋅4 = 9 + 14 + 12 = 35
三つずつの積の和:
  1⋅2⋅3 + 1⋅2⋅4 + 1⋅3⋅4 + 2⋅3⋅4 = 6 + 8 + 12 + 24 = 50
四つずつの積:
  1⋅2⋅3⋅4 = 24

例1のようになる訳は、 (x − 1)(x − 2)(x − 3)(x − 4) をそのまま完全に展開して生じる 16 項を考えてみれば、明らかだろう(4次式の根と係数の関係でもある)。実際に掛け算される −1, −2, −3, −4 は負なんで、偶数個ずつの積は正、奇数個ずつの積は負。正の数の和は正、負の数の和は負だから、最高次の項に続く係数の符号は − + − + ··· となる。 p は奇数、 p − 1 は偶数なんで、 p − 1 個全部掛ける最後の項(定数項)は + に。

表記の簡潔化のため、「n 個ずつの積」の(ローマ字で Wa)から生じる係数を Wn と略そう(負になる場合は −Wn とする):
  (x − 1)(x − 2)(x − 3)···(x − (p − 1))
   = xp−1 − W1⋅xp−2 + W2⋅xp−3 − ··· + Wp−3⋅x2 − Wp−2⋅x + Wp−1  キ

前述のように、キは、フェルマーの小定理の式
  xp−1 − 1 ≡ 0 (mod p)  ク
を展開したものと、(多項式として)同じ。従ってキ・クは――どちらも最高次の係数が 1 だから――、全部の係数が一致する(ここで「一致する」というのは、 mod p において合同、という意味)。そんなわけで、定数項の比較から Wp−1 ≡ −1 でなければならず、それ以外の係数 W1, W2, ··· , Wp−2 は、それぞれ ≡ 0 でなければならない。なぜならクには、 xp−2 の項や xp−3 の項などが無いので、それらの係数は ≡ 0 に当たる。

〔例2〕 例1の p = 5 の場合、
  (x − 1)(x − 2)(x − 3)(x − 4) = x4 − 10x3 + 35x2 − 50x + 24
の定数項 24 は確かに 5 の倍数より 1 小さい、つまり 24 ≡ −1 (mod 5)。それ以外の三つの係数は、確かに 5 の倍数、つまり ≡ 0 (mod 5)。

まとめると:

命題1 p が 3 以上の素数のとき、
  ƒ(x) = (x − 1)(x − 2)···(x − (p − 1))  ク
を展開したものを
  ƒ(x) = xp−1 − W1⋅xp−2 + W2⋅xp−3 − ··· + Wp−3⋅x2 − Wp−2⋅x + Wp−1  ケ
とする。このとき:
 〘ⅰ〙 定数項 Wp−1 は 1⋅2···(p − 1) つまり (p − 1)! に等しく、その値は p の倍数より 1 小さい。すなわち Wp−1 ≡ −1 (mod p)。
 〘ⅱ〙 係数 W1, W2, ⋅⋅⋅, Wp−3, Wp−2 は、それぞれ {1, 2, ···, p − 1} から相異なる数を 1 個ずつ、2 個ずつ···全パターンで抜き出して、それらの「積」たちを足し合わせたもの。どれも p の倍数。すなわち W1 ≡ W2 ≡ ⋅⋅⋅ ≡ Wp−2 ≡ 0 (mod p)。

「p が素数のとき」という条件が付く理由。キとクが一致することから、両者の係数比較によって、この結論になる。クはフェルマーの小定理なので、一般には p が素数でないと成り立たない。文字 W は日本語の Wa から取ったものだが、「和」といっても、末尾の Wp−1 だけは、たった一つの積から成る。

〘ⅰ〙は、いわゆるウィルソン(Wilson)の定理
  (p − 1)! = 1⋅2⋅3···(p − 1) ≡ −1 (mod p)
に当たる。

〔例〕 p = 7 は素数。 (p − 1)! = 6! = 1⋅2⋅3⋅4⋅5⋅6 = 720 は 7 の倍数(721)より 1 小さい。さて p = 11 も素数。
  (11 − 1)! = 10! = 3628800
は 11 の倍数より 1 小さい。[8800 は明らかに 11 の倍数なので、その部分を無視して 3620000 が 11 の倍数より 1 小さいこと、言い換えれば 3620001 が 11 で割り切れることを見ればいい。 N = 3620001 の奇数桁目の和 1 + 0 + 2 + 3 と偶数桁目の和 0 + 0 + 6 は等しいので、 N は 11 の倍数。]

〘ⅱ〙の係数たちはどれも p の倍数だが、そのうち Wp−2 は p2 の倍数でもある(後述)。

✿

ウォルステンホーム(Wolstenholme)の定理の証明 ケはクと同じ式(を展開したもの)なので、どちらの式でも x = p と置いたときの値は同じ。つまり、
  ƒ(p) = pp−1 − W1⋅pp−2 + W2⋅pp−3 − ··· + Wp−3⋅p2 − Wp−2⋅p + Wp−1
と、
  ƒ(p) = (p − 1)(p − 2)···(p − p + 1) = (p − 1)!
は、等しい:
  pp−1 − W1⋅pp−2 + W2⋅pp−3 − ··· + Wp−3⋅p2 − Wp−2⋅p + Wp−1 = (p − 1)!

左辺末尾の Wp−1 は (p − 1)! に等しいので(上記ウィルソンの定理)、両辺からこの等しい数を引くと:
  pp−1 − W1⋅pp−2 + W2⋅pp−3 − ··· + Wp−3⋅p2 − Wp−2⋅p = 0
この両辺を p で割って:
  pp−2 − W1⋅pp−3 + W2⋅pp−4 − ··· + Wp−3⋅p − Wp−2 = 0  コ

ウォルステンホームの定理では p は 5 以上の素数なので、コの左辺・第1項 pp−2 は少なくとも p3 の倍数。従って、当然 p2 の倍数でもある。第2項以下の各項も、末尾の定数項はともかく、少なくともそれ以外の項は p2 の倍数。

pp−3, pp−4, ···, p はそれぞれ p の倍数だし、 W1, W2, ···, Wp−2 も p の倍数なんで(命題1〘ⅱ〙)、どの項も因子 p を最低 2 個含む。 Wp−3⋅p を別にすると、それより左の項は、 p2, p3, ··· などを含むので、 W の部分を考えるまでもなく、明らかに因子 p を 2 個以上含む。 Wp−3⋅p も、命題1〘ⅱ〙によって、因子 p を 2 個含む。

つまりコは
  (p2 の倍数) − (p2 の倍数) + (p2 の倍数) − ··· + (p2 の倍数) − Wp−2 = 0
の形であり、そのことから、左辺・右端の Wp−2 も p2 の倍数でなければならない。

なぜならば p2 の倍数は p2N の形なので(N: 整数)、上の式は、
  p2N − p2N′ + p2N″ − ··· − Wp−2 = 0
のようになる。移項すると p2(N − N′ + N″ − ···) = p2 × 整数 = Wp−2 なので、 Wp−2 は p2 の倍数。ちなみに mod p2 で考えると、
  0 − 0 + 0 − ··· + 0 − Wp−2 ≡ 0 (mod p2)
  ∴ Wp−2 ≡ 0 (mod p2)
となって、同じことをすっきり表現できる。

ここで Wp−2 は、 p − 1 種類の数 {1, 2, ···, p − 1} の数から p − 2 個ずつ抜き出して掛けた和だから:
  Wp−2 = [2⋅3⋅4···(p − 1)] + [1⋅3⋅4···(p − 1)] + [1⋅2⋅4···(p − 1)] + ··· + [1⋅2⋅3···(p − 2)]
表記が少し分かりにくいけど、次のような p + 1 項の和:
  Wp−2 = (p − 1)! ∕ 1 + (p − 1)! ∕ 2 + (p − 1)! ∕ 3 + ··· + (p − 1)! ∕ (p − 1)  サ

{1, 2, ···, p − 1} から p − 2 個ずつ選ぶ代わりに、同じことだが、 {1, 2, ···, p − 1} から「一つを除いて全部」選んだ積を考えている。右辺各項は、順に因子として「1 が無い」「2 が無い」「3 が無い」等々。言い換えれば、
  (p − 1)! = 1⋅2⋅3⋅4···(p − 1)
を「1 で割った商」「2 で割った商」「3 で割った商」等々。

ところがこの Wp−2 という値(上記サ)は、
  S = 1 + 1/2 + 1/3 + ··· + 1/(p − 1)
を次のように通分した「分子の和」に他ならな:
  S = [(p − 1)! ∕ 1]/(p − 1)! + [(p − 1)! ∕ 2]/(p − 1)! + [(p − 1)! ∕ 3]/(p − 1)! + ··· + [(p − 1)! ∕ (p − 1)]/(p − 1)!

要するに、このように足し算した場合の S の分子は Wp−2 であり、それは前述のように p2 の倍数だから、当然 p2 で割り切れる。この通分&足し算の後、多少の約分は可能かもしれないけど、分母の (p − 1)! は因子 p を含まないから、約分によって、分子の因子 p の個数が減ることはない。つまり、分数が約分されたとしても、分子は依然 p2 の倍数。ウォルステンホームの定理が証明されたのである。∎

† p = 5, p − 1 = 4 の例。
  S = 1 + 1/2 + 1/3 + 1/4 = 2⋅3⋅4/(1⋅2⋅3⋅4) + 1⋅3⋅4/(1⋅2⋅3⋅4) + 1⋅2⋅4/(1⋅2⋅3⋅4) + 1⋅2⋅3/(1⋅2⋅3⋅4)
右辺の四つの分子の和は、 {1, 2, 3, 4} から三つずつ抜き出した積の和 W3 つまり Wp−2 に当たる。言い換えれば:
  S = [(1⋅2⋅3⋅4) ∕ 1]/(1⋅2⋅3⋅4) + [(1⋅2⋅3⋅4) ∕ 2]/(1⋅2⋅3⋅4) + [(1⋅2⋅3⋅4) ∕ 3]/(1⋅2⋅3⋅4) + [(1⋅2⋅3⋅4) ∕ 4]/(1⋅2⋅3⋅4)
(5 − 1)! = 4! = 1⋅2⋅3⋅4 なので、簡潔にこう書くこともできる:
  S = (4! ∕ 1)/4! + (4! ∕ 2)/4! + (4! ∕ 3)/4! + (4! ∕ 4)/4!

✿

今回の証明法はオーソドックスなもので、 Hardy–Wright や Hua の教科書に載っているものに基づく。ただし、有理数の分数 1 ∕ a を mod p2 における a (≢ 0) の乗法逆元のように扱うことは、便利なトリックである半面、余計なハードルになるので、その部分を省いた。

✿

付録A 定理によると、
  S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10
を足し合わせた分数の分子は 112 で割り切れるはず。確かめてみる。

素直に端から順に足してもいいのだが、便宜上 1/7 を後回しにして、次の三つの部分和を考える:
  A = 1 + 1/2 + 1/4 + 1/8 = (8 + 4 + 2 + 1)/8 = 15/8
  B = 1/3 + 1/6 + 1/9 = (6 + 3 + 2)/18 = 11/18
  C = 1/5 + 1/10 = (2 + 1)/10 = 3/10
  ∴ A + C = 75/40 + 12/40 = 87/40
  ∴ (A + C) + B = 87 × 9/360 + 11 × 20/360 = (783 + 220)/360 = 1003/360
これに 1/7 を足したものが S なので:
  S = 1003/360 + 1/7 = (1003 × 7 + 360)/(360 × 7) = (7021 + 360)/2520 = 7381/2520

さて、この分子。 7381 ÷ 11 = 671, 671 ÷ 11 = 61 なんで:
  S = 11 × 11 × 61/2520

定理の予言通り、分子は 11 で 2 回割り切れるっ! 分母の 2520 は 11 の倍数ではないので、約分によって分子の因子 11 が消える心配もない。

✿ ✿ ✿


2026-05-29 ウォルステンホームの第2命題

1 + 1/2 + 1/3 + ··· + 1/(p − 1) の分子が p2 で割り切れる、という「ウォルステンホームの定理」は、実は三部構成の命題の一つ目(p は 5 以上の素数)。二つ目は、
  1 + 1/22 + 1/32 + ··· + 1/(p − 1)2
の分子が p で割り切れる、という内容。例えば p = 5 のとき、
  1 + 1/22 + 1/32 + 1/42 = 205/144
の分子は 5 で割り切れる。この命題は地味だが、証明手法がそれなりに面白い。一つ目と合わせて、最後の三つ目の命題の伏線ともなっている。

ちなみに、本題とは関係ないが、上の形の和
  1 + 1/22 + 1/32 + 1/42 + 1/52 + ···
をどこまでも足してくと π2/6 = 1.6449··· に収束する。こんな分数の足し算になぜか円周率の平方が現れるという、不思議な事実(大ざっぱな見積もりきちんとした証明)。

✿

トリックを使っていいなら、第2命題の証明は易しい。分数を (p − 1)! 倍しても、あるいは {(p − 1)!}2 倍しても、その分数の分子が p で割り切れるかどうかには影響しない。しかもその場合、普通の分数 1/a と mod p の逆数 a−1 を同一視できる。つまり:
  [1/12 + 1/22 + 1/32 + ··· + 1/(p − 1)2] × {(p − 1)!}2  シ
   ≡ [(12)−1 + (22)−1 + (32)−1 + ··· + ((p − 1)2)−1] × {(p − 1)!}2 (mod p)
   ≡ [(1−1)2 + (2−1)2 + (3−1)2 + ··· + ((p − 1)−1)2] × {(p − 1)!}2  ス

異なる種類の数 1, 2, ··· , p − 1 は異なる種類の逆数を持つから(そして 0 は逆数ではないから)、
  1−1, 2−1, ···, (p − 1)−1
は、どれも異なる種類の数であり、
  1, 2, ···, (p − 1)
を何らかの順序で並び替えたものに過ぎない。

よってスは(従ってシは):
   ≡ [12 + 22 + 32 + ··· + (p − 1)2] × {(p − 1)!}2
   = (p − 1)⋅p⋅(2p − 1)/6 × {(p − 1)!}2
を満たし、明らかに p で割り切れる。∎

上記証明はエレガントだが、やや抽象的。実直な別証明を考えてみたい。

✿

次の関係が成り立つ。
  (a + b)2 = a2 + b2 + 2[ab]
  (a + b + c)2 = a2 + b2 + c2 + 2[(ab + ac) + bc]
  (a + b + c + d)2 = a2 + b2 + c2 + d2 + 2[(ab + ac + ad) + (bc + bd) + cd]
   ︙

例えば (a + b + c + d)2 = (a + b + c + d) × (a + b + c + d) では、四つの項 a, b, c, d と同じ四つの項 a, b, c, d が総当たり的に掛け算されて 16 種の積が生じるのだが、そのうち「同じ文字の自乗」になるのは四つ。それ以外は「別の文字の積」になる。

×abcd
a a2abacad
b bab2bcbd
c cacbc2cd
d dadbdcd2

このうち、「アルファベット順で前にある文字が左」にある㋐ ab, ac, ad; bc, bd; cd については、そのまま使うことにする。一方、「アルファベット順で前にある文字が右」にある㋑ ba, ca, da; cb, db; dc については、それぞれ左右を入れ替えると㋐のどれかと同じ積。ゆえに㋑を無視して㋐の積だけをそれぞれ 2 倍しておけば、それでOK。

この考え方を一般化すると、 n 項の和の平方は、次のように展開される:
  (a1 + a2 + ··· + an)2 = (a1)2 + (a2)2 + ··· + (an)2 + 2[∑ ajak]
ここで ∑ ajak というのは、次の和:
  (a1a2 + a1a3 + a1a4 + ··· + a1an)
   + (a2a3 + a2a4 + ··· + a2an)
   + (a3a4 + ··· + a3an)
   ︙
   + (an−2an−1 + an−2an)
   + an−1an

要するに a の 1 番から a の n 番までの全種類の総当たり的な積のうち、
  ㋐ 番号が j < k であるような積 ajak
を足し合わせる。実際には、
  ㋑ 番号が j > k であるような積 ajak
も生じるが、㋑の積は、左右の文字を入れ替えれば㋐のどれかと同じなので、㋐の積だけ考えて 2 倍しておけば、㋑の積もカバーされる。ちなみに
  ㋒ 番号が j = k であるような積 ajak
は「同じ文字同士の積」、つまり (aj)2 の形の自乗、というわけ。

で、問題の 1 + 1/22 + 1/32 + ··· + 1/(p − 1)2 という和、言い換えると
  T = (1)2 + (1/2)2 + (1/3)2 + ··· + (1/(p − 1))2
という和を作るには、既に性質が分かっている
  S = 1 + 1/2 + 1/3 + ··· + 1/(p − 1)
を平方して、 S2 から、 T にとっては不要な
  2[(1⋅(1/2) + 1⋅(1/3) + ··· + 1⋅(1/(p − 1))) + ((1/2)(1/3) + ··· + (1/2)(1/(p − 1))) + ···  + (1/(p − 2))(1/(p − 1))]
を引き算すればいい。コンセプト的には。

a2 + b2 を作りたいときに、 (a + b)2 から 2ab を引き算するのと同様。あるいは a2 + b2 + c2 を作りたいときに、 (a + b + c)2 から 2[(ab + ac) + bc] を引き算するのと同様。

といっても、具体的にはどこから手を付けていいのやら…

✿

ゴチャゴチャした分数の和を手際よく処理する第一歩は、通分して分母をそろえることだろう。

前回、 S の分子が p2 の倍数であることを示すため、 S を通分して
  S = [(p − 1)! ∕ 1]/(p − 1)! + [(p − 1)! ∕ 2]/(p − 1)! + [(p − 1)! ∕ 3]/(p − 1)! + ··· + [(p − 1)! ∕ (p − 1)]/(p − 1)!
として扱った。分数より整数の方が扱いやすいので、上記の両辺を (p − 1)! 倍して、分母を払ってしまおう:
  S(p − 1)! = (p − 1)!/1 + (p − 1)!/2 + ··· + (p − 1)!/(p − 1)  セ

見掛けは依然分数だが、 (p − 1)! = 1⋅2⋅3···(p − 1) なので、セの右辺各項は整数値。この右辺は p − 1 個の数 {1, 2, ···, p − 1} から p − 2 個ずつを取り出して積を作り、その積たちを足し合わせた和であり、前回の表記の Wp−2 に当たる。

これ以降、 (p − 1)! という整数(階乗)が繰り返し登場する。簡潔化のため、この数を Q と略すことにする:

略記 Q = (p − 1)!

するとセを次のように、すっきり表記できる。
  SQ = Q/1 + Q/2 + ··· + Q/(p − 1)
両辺を平方して:
  (SQ)2 = (Q/1)2 + (Q/2)2 + ··· + (Q/(p − 1))2 + 2 {for j<k} (Q/j)(Q/k)
右端の ∑ において j, k の値は、 1 以上 p 未満の、全ての整数の組み合わせにわたる(ただし j < k)。つまり:
  (Q/1)2 + (Q/2)2 + ··· + (Q/p − 1))2 = (SQ)2 − 2 {for j<k} (Q/j)(Q/k)
  ∴ Q2⋅[(1/1)2 + (1/2)2 + ··· + (1/(p − 1))2] = (SQ)2 − 2{for j<k} Q/(j⋅k)  ソ

さて Q = (p − 1)! = 1⋅2⋅3··· (p − 1) なので、ソ右端の {for j<k} Q/(j⋅k) は:
  p − 1 個の数 {1, 2, ···, p − 1} から二つの数 j, k を(割り算によって)除去し、
   残った p − 3 個の数を掛け算して、
    それらの積たちを足し合わせたもの。
(二つの数の除去については、考え得る全パターンで実行する。ただし数を除去する順番については区別しない。)

〔例〕 p = 7, p − 1 = 6 のとき、仮に j = 3, k = 4 とすると:
  Q/(j⋅k) = 6!/(3⋅4) = 1⋅2⋅5⋅6 = 60
これは p − 1 = 6 個の数 {1, 2, 3, 4, 5, 6} から p − 3 = 4 個の数 {1, 2, 5, 6} を抜き出して、それらを掛け算した例。 j = 4, k = 3 でも同じ結果になるが、 j < k の制限により、前者のみがカウントされる。

✿

結局 {for j<k} Q/(j⋅k) は、 {1, 2, ··· , p − 1} から p − 3 個の数を抜き出して掛け合わせた積・各種の和に当たり、前回の記法では Wp−3 だ。

Q = (p − 1)! = Wp−1p の倍数ではない(p の倍数より 1 小さい: 命題1〘ⅰ〙)。一方、 S の分子が――従って整数 SQ が―― p2 の倍数であることを、われわれは知っている(狭義の「ウォルステンホームの定理」)。さらに、整数 Wp−3 は p の倍数命題1〘ⅱ〙)。以上のことから、ソは次のようになる:
  Q2⋅[(1/1)2 + (1/2)2 + ··· + (1/(p − 1))2] = (p2 の倍数)2 − 2Q(p の倍数)

この右辺は p の倍数なので、それに等しい左辺も p の倍数。他方 Q や Q2 は p の倍数ではない。従って、左辺 [ ] 内の
  (1/1)2 + (1/2)2 + ··· + (1/(p − 1))2
を通分して、分母が 12⋅22···(p − 1)2 = Q2 になるようにしたとき、分子の和は p の倍数。そのとき、分母は因子 p を含まないので、上記通分・足し算の後、結果を約分しても、分子は p の倍数のまま。∎

次が証明された。

ウォルステンホームの第2命題 p が 5 以上の素数なら、下記の和の分子は p で割り切れる。
  1 + 1/22 + 1/32 + ··· + 1/(p − 1)2

こぢんまりとした命題だけど、小さな定理をゆっくり検討するのも悪くあるまい。

✿

例1 p = 5 のとき:
  S = 1 + 1/2 + 1/3 + 1/4 = 25/12

ソの ∑ に当たるものは(Q = (5 − 1)! = 24 に留意):
  24/(1⋅2) + 24/(1⋅3) + 24/(1⋅4) + 24/(2⋅3) + 24/(2⋅4) + 24/(3⋅4)
   = 12 + 8 + 6 + 4 + 3 + 2 = 35
あるいは同じことだが:
  W2 = (1⋅2 + 1⋅3 + 1⋅4) + (2⋅3 + 2⋅4) + (3⋅4) = 9 + 14 + 12 = 35
(p − 1 = 4 個の数 {1, 2, 3, 4} から p − 3 = 2 個ずつ抜き出した積の和に当たる。)

よって:
  ソ右辺 = (25/12 × 24)2 − 2⋅24⋅35 = 502 − 1680 = 820

この 820 は 5 の倍数。それに等しいソ左辺
  242⋅[1 + 1/22 + 1/32 + 1/42]
も 5 の倍数。しかし 24 は因子 5 を含まないので [ ] 内の分数の和の分子が 5 でなければならない。果たして、
  1 + 1/4 + 1/9 + 1/16 = (16 + 4 + 1)/16 + 1/9 = 21/16 + 1/9
   = (21⋅9 + 1⋅16)/16⋅9) = 205/144
の分子は 5 の倍数。この最後の分数に Q2 = (4!)2 = 242 を掛けたものが、上記の 820。

205/144 を 24 倍すると(1/144 × 24 = 1/6 なので) 205/6 を得る。もう一度 24 倍すると(1/6 × 24 = 4 なので)、分母が払われ 205 × 4 = 820 を得る。

例2 計算結果だけ。 p = 7 のとき:
  1 + 1/22 + 1/32 + 1/42 + 1/52 + 1/62
   = 1 + 1/4 + 1/9 + 1/16 + 1/25 + 1/36 = 5369/3600
5369 = 7⋅13⋅59 は 7 の倍数。

例3 p = 11 のとき:
  1 + 1/22 + 1/32 + ··· + 1/102
   = 1 + 1/4 + 1/9 + 1/16 + 1/25 + 1/36 + 1/49 + 1/64 + 1/81 + 1/100
   = 1968329/1270080
1968329 = 11⋅178939 は 11 の倍数。

✿ ✿ ✿


2026-05-31 ウォルステンホームの第3命題

p を 5 以上の素数とする。 2p − 1 個のアイテムから p − 1 個を選び出す組み合わせの総数は、 p3 の倍数より 1 大きい(選ぶ順序の違いは区別しない: 例えばメンバーが 5 人いるクラブのうち 2 人がイベントに参加する場合、参加メンバーの選択肢は 10 パターン)。

最小の例は p = 5 の場合。 9 個のアイテムから 4 個を選択する方法は、
  9⋅8⋅7⋅6/(4⋅3⋅2⋅1) = 9⋅7⋅2/1 = 63 × 2 = 126
種類ある(「二項係数・超入門」参照)。この数は、確かに 53 = 125 の倍数(1 倍)より 1 大きい。

ウォルステンホーム(Wolstenholme)は、この性質(第3命題)が成り立つことに気付いて、それが一般的に成立することを証明しようとした。第1命題(狭義の「ウォルステンホームの定理」)と第2命題は、もともとは第3命題を導くための補助定理というか、副産物だったらしい(今では、その副産物の方が有名だが)。

その証明は、必要以上にややこしかった――ウォルステンホーム自身もそう感じていたようで、結果を公表したとき、「私の採用した方法は少々面倒である。貴誌読者の中に、もっと直接的な証明を提供してくださる方がおられたら、ありがたい」とアイデアを募っている。

✿

証明の前に、もう少し実例を観察してみたい。

p = 7 の場合。 (2p − 1 C p − 1) = (13 C 6) は、
  13⋅12⋅11⋅10⋅9⋅8/6!
に当たる。この分母を(6! の因子 6 をばらして)、
  2⋅3⋅4⋅5 × 3⋅2 = 4⋅3 × 5⋅2 × 3⋅2
と見ると、分母の 12 と 10 を除去して、さらに 9/3 と 8/2 の約分ができるので:
  分数 = 13⋅11 × 3⋅4 = 1716
この数は、確かに 73 の倍数 73 × 5 = 343 × 5 = 1715 より 1 大きい。

13⋅11 = (12 + 1)(12 − 1) = 144 − 1 なので:
  13⋅11 × 3⋅4 = (144 − 1) × 12 = 1728 − 12 = 1716

p = 11 の場合。
  (21 C 10) = 21⋅20⋅19⋅18⋅17⋅16⋅15⋅14⋅13⋅12/10!
において、分母を(10! の因子 4 と 9 をばらして)
  2⋅2⋅2 × 3⋅3⋅3 × 5⋅6⋅7⋅8⋅10 = 7⋅3 × 10⋅2 × 6⋅3 × 8⋅2 × 5⋅3 × 2
と見ると、分子の因子のうち 21; 20; 18; 16; 15 を除去して、さらに 12/2 の約分ができるので:
  分数 = 19⋅17⋅14⋅13 × 6 = 352716

この数は 113 = 1331 の倍数 113⋅5⋅53 = 352715 より 1 大きい。

フェルマー(Fermat)以降 mod p で ≡ 1 というのはありふれたパターンだが、 mod p3 で ≡ 1 というのは、なかなかすごい。これがウォルステンホームの発見の核心だった。

p = 13 などさらに具体例を試すと、どうやら定理は正しそう。けど上記の実例では、どれも見通しの利かない複雑な約分が絡んでいて、なぜ分数を約した商が p3 の倍数より 1 大きくなるのか、直接的な証明は困難だと思われる。

✿

以下の証明法は Hardy–Wright, §7.5 のアプローチによる(ただし Hardy–Wright 自身は、第3命題を省略している)。すなわち Fermat の小定理に基づく。かわいらしく「プチ定理」と呼ばれているが、フェルマー、まじ大活躍っ!

命題1を導いたとき、フェルマーの小定理から生じる p − 1 次方程式
  xp−1 − 1 ≡ 0 (mod p)  タ
の解を素朴に x = 1, 2, 3, ···, p − 1 とした。しかしこれら p − 1 種類の解については、 mod p の全種類の数(p の倍数を除く)を一つずつ含んでいる限り、どんな整数で表現しても構わない(これは mod p での議論なので)。そこで、全部 −1 倍して、
  x = −1, −2, −3, ···, −(p − 1)
を解(の代表たち)とすると、タの左辺は、こう分解される:
  (x − (−1))(x − (−2))(x − (−3))···(x − [−(p − 1)])
  つまり (x + 1)(x + 2)(x + 3)···(x + (p − 1)) ≡ 0  チ

チの左辺を展開すると:
  xp−1 + W1⋅xp−2 + W2⋅xp−3 + ··· + Wp−3⋅x2 + Wp−2⋅x + Wp−1 ≡ 0 (mod p)  ツ

上記で選択された整数解は、符号の違いを無視すれば、命題1のときの選択と全く同じなので、それらを一定の個数ずつ掛けて足した和も、符号の違いを無視すれば、命題1のときと同じになる(チを展開すると全部の係数がプラスになるので、むしろこの選択の方がシンプル)。

従って k = 1, 2, ··· について、 Wk の意味は命題1のときと同じ。式「ツ」自体も―― k が奇数のとき、 Wk に付く符号が逆になることを別にすれば――命題1で考えた「ケ」と同じ。よって、命題1のときと全く同じ理由から、
  Wp−1 = (p − 1)! ≡ −1 (mod p)  テ
であり、それ以外の Wk たちは p の倍数。特に Wp−2 は p2 の倍数。

各 Wk は、符号を含めて命題1のときと同じなので、以上は証明済みの内容。

さて、あらたに証明したい事柄は、 2p − 1 個のアイテムから p − 1 個を選ぶ組み合わせの数、つまり
  (2p − 1 C p − 1) = [(2p − 1)(2p − 2)···(p + 1)]/(p − 1)!
が p3 の倍数より 1 大きい、ということ(右辺の分子は p − 1 個の因子からなり、最後の因子は
  (2p − 1) − (p − 1) + 1
に等しい)。分子の因子たちを逆順に並べれば:
  [(p + 1)(p + 2)···(p + (p − 1))]/(p − 1)!  ト

トの分子は、チで x = p と置いたものと同じだから、分子の掛け算を展開した結果は、ツ左辺で x = p と置いたものに一致:
  [pp−1 + W1⋅pp−2 + W2⋅pp−3 + ··· + Wp−3⋅p2 + Wp−2⋅p + Wp−1]/(p − 1)!
   = [pp−1 + W1⋅pp−2 + W2⋅pp−3 + ··· + Wp−3⋅p2 + Wp−2⋅p]/(p − 1)! + 1  ナ
最後の等号は、テの Wp−1 = (p − 1)! に基づく。この分数は、組み合わせの数だから、割り切れて整数に。その割り算によって、分子の因子 p の個数は変わらない。ゆえに、ナの右辺の分数(値は整数)の分子が p3 の倍数であることを示せば、ナの右辺・第1項は p3 の倍数ということになり、ナは p3 の倍数より 1 大きいと結論され、証明が終わる。

それは易しい。 p3, p4 などを含む項は明らかに p3 の倍数(仮定により p ≥ 5 なので、左端の pp−1 は因子 p を少なくとも 4 個含む)。 Wp−3⋅p2 も p3 の倍数―― Wp−3 は p の倍数なので(既述)。右端の Wp−2⋅p も p3 の倍数―― Wp−2 は p2 の倍数なので(既述)。すなわち、ナの分子の各項は p3 の倍数。よって、それらの和である分子自身も、 p3 の倍数。∎

Wolstenholme 自身の証明法も、ナの形に基づく。特に Wp−2 が p2 の倍数、という部分は、狭義の Wolstenholme の定理(第1命題)に他ならない。しかし Wolstenholme は Wp−3 が p の倍数であることを示すのに苦労し、その手段として、第2命題の証明法を編み出したらしい。

Wp−1 が p の倍数より 1 小さいこと(Wilson の定理)、および、それ以外の Wk たちがどれも p の倍数であることは、既に1771年、ラグランジュ(Lagrange)によって証明されてい

† Démonstration d’un Théorème nouveau concernant les nombres premiers [Œuvres de Lagrange. T. 3]
https://gallica.bnf.fr/ark:/12148/bpt6k229222d/f426.item
https://fr.wikisource.org/wiki/M%C3%A9moires_extraits_des_recueils_de_l%E2%80%99Acad%C3%A9mie_royale_de_Berlin/D%C3%A9monstration_d%E2%80%99un_Th%C3%A9or%C3%A8me_nouveau_concernant_les_nombres_premiers

✿

Wolstenholme 自身の証明では、
  Hn = 1 + 1/2 + 1/3 + ··· + 1/n
という和と、「二項係数」の関係(詳細については次回に)が活用される。本人も認めているように少々ややこしいが、それはそれで研究価値がありそう(次回の次回に)。一方、現代の知見に照らすと、狭義の Wolstenholme の定理について、(符号なしの)「第一種スターリング(Starling)数」を使って説明することも可能。われわれが Wp−2 と呼んでいる和は、 Knuth の表記を使うと、実は
  [p S 2] = (p − 1)! Hp−1
だ。それが p2 で割り切れることを示す一つの方法は、次の通り(Concrete Mathematics, 6.51)。 p! を「p の下降 p 乗」
  p(p − 1)(p − 2)···1
と見ることによって、 [p S 2]
  p⋅[p S 3] − p2⋅[p S 4] + ··· + pp−2⋅[p S p]
と「展開」できる。ところが、 p が素数で k が 3 以上のとき、
  [p S k] ≡ 0 (mod p)
が成り立つ(二項展開における「新入生の夢」と似た現象)。「瞬殺」のクールな論法。機会があれば紹介したい。

✿ ✿ ✿


2026-06-01 偽金貨と二項係数 おしゃま/もやもや

金貨が 7 枚ある。 1 枚、偽金貨が交ざってる(残り 6 枚は本物だが、外見などでは区別が付かない)。そのうち 3 枚、好きな金貨をもらうとしたら、何が起こり得るか?

➀ラッキーな人は、 3 枚とも本物の金貨 6 枚の中から選ぶ。 6 枚から 3 枚を選ぶ方法は:
  6⋅5⋅4/(3⋅2⋅1) = 20 パターン
➁不運な人は、何枚目かでインチキ金貨を選んでしまい、結果的に純正金貨 6 枚の中からは 2 枚だけ選ぶ。 6 枚から 2 枚選ぶ方法は:
  6⋅5/(2⋅1) = 15 パターン
(偽金貨は 1 枚だけなので、それを選んでしまう場合、「偽金貨の選び方」自体にはバリエーションがない。)

➀か➁のどちらかが起きるので、選び方は、トータルで 25 + 10 = 35 パターン。もちろんこの合計数は、単に 7 枚から 3 枚を選ぶパターン数、
  ◎ = 7⋅6⋅5/(3⋅2⋅1) = 35
と一致する。この ◎ = ➀ + ➁ というのが「二項係数の加法定理」の一例。

〔注〕 パターン数は「何を基準にするか」によっても変わる。「3 枚選んだ中に、偽金貨が交ざっているかどうか」だけなら 2 パターンしかない。

さて、 H4 = 1 + 1/2 + 1/3 + 1/4 = 12/12 + 6/12 + 4/12 + 3/12 = 25/12 のような「逆数の和」は、符号を交互にした
  ●⋅1 − ●⋅1/2 + ●⋅1/3 − ●⋅1/4
の形でも表現可能。この例では四つの ● を順に 4, 6, 4, 1 とすると、
  4⋅1 − 6⋅1/2 + 4⋅1/3 − 1⋅1/4 = 48/1236/12 + 16/123/12 = 25/12
となって、前記 H4 と一致。 ● に入れた 4, 6, 4, 1 は、二項係数 (4 C k) に他ならない(k = 1, 2, 3, 4)。実は任意の正整数 n について、
  Hn = 1 + 1/2 + 1/3 + ··· + 1/n
と値が一致するような、同様の別表現が存在する――その証明に「偽金貨の定理」(加法定理)が使われる。

✿

以下、「二項係数」の記号を断りなく使いまくる(「超入門」参照)。

偽金貨の定理」(二項係数の加法定理) n + 1 枚の金貨(n 枚は純正、 1 枚は偽物)から k 枚の金貨を選ぶ方法は、
  ➀ 純正な n 枚の中だけから k 枚を選ぶ方法 (n C k) 通り
  ➁ 純正な n 枚の中から k − 1 枚を選ぶ方法(もう 1 枚は偽金貨を選択) (n  C k − 1) 通り
のどちらか。➀➁の和は「(偽物を気にせずに)単に n + 1 枚から k 枚を選ぶ方法」
  (n + 1 C k) 通り
と一致。すなわち:
  (n + 1 C k) = (n C k) + (n C k − 1)
もちろん、
  (n + 1 C k)(n C k) = (n C k − 1)
とも表現できる。「選び方の総数 − ラッキーな選び方の数 = 不運な選び方の数」という意味。

パスカルの三角形で考えるなら、この定理は、
  (n + 1 段目にある)ある数は、(n 段目にある)その数の左上と右上の二つの数の和
ということを言っている。パスカルの三角形はそういうふうに数を並べたものだから、そうなって当たり前。

この定理を使って、下記のことを証明したい。

例えば H2 = 1 + 1/2 = 3/2 は、次の交代和(+ の項と − の項が交互に並んだ和)に等しい。
  ƒ(2) = (2 C 1)⋅1 − (2 C 2)1/2 = 2⋅1 − 1⋅1/2 = 3/2

H3 = 1 + 1/2 + 1/3 = 6/6 + 3/6 + 2/6 = 11/6 は、次の交代和に等しい。
  ƒ(3) = (3 C 1)⋅1 − (3 C 2)1/2 + (3 C 3)1/3
   = 3⋅1 − 3⋅1/2 + 1⋅1/3 = 3 − 3/2 + 1/3 = 18/69/6 + 2/6

一般に:
  Hn = ƒ(n) = (n C 1)⋅1 − (n C 2)1/2 + (n C 3)1/3 − ··· ± (n C n)1/n
(最後の項の符号は、 n が奇数なら + で n が偶数なら − になる。)

✿

総和記号を使った方が簡潔で、内容が分かりやすい。
  {k=1 to 5} 1/k = 1 + 1/2 + 1/3 + 1/4 + 1/5
のような記号の意味は、説明不要だろう(第1項の値は 1 だが、各項のパターンを統一的に捉えるため、その 1 をあえて 1/1 と考えている)。 5 項の和に限らず、同様の形の n 項の和(n は任意の正整数)を考えるなら、こう表現できる:
  Hn = {k=1 to n} 1/k  ハ

一方、交代和は、もしも符号の交代がなかったら、
  {k=1 to 4} (4 C k)⋅1 C k = (4 C 1)⋅1 + (4 C 2)⋅1/2 + (4 C 3)⋅1/3 + (4 C 4)⋅1/4
などとなるが、実際には、偶数番目の(k が偶数のときの)項を − にする必要がある。「k が奇数なら −1 倍」というのなら、符号を
  (−1)k
という因子で表現可能(−1 の偶数乗は +1 で奇数乗は −1 なので)。逆に「k が偶数なら −1 倍」なら、指数を 1 ずらして、
  (−1)k+1 または (−1)k−1
を使えばいい(どっちでも可)。というわけで、ちょっとゴチャゴチャするけど:
  ƒ(n) = {k=1 to n} (−1)k−1⋅(n C k)⋅1/k
同じことだが、もう少しだけコンパクトに書くと:
  ƒ(n) = {k=1 to n} (n C k)⋅(−1)k−1/k  ヒ

ハとヒは、本当に常に等しいのだろうか? n = 1 の場合、ハは 1/1 = 1 で、ヒは
  (1/1)⋅(−1)1+1/1 = 1⋅(−1)2/1 = 1
であるから(どちらも 1 項しかない)、確かに両者は等しい。 n = 2, 3 についても、既に直接確かめた。一般の n についてこれを確かめるには、 n を不特定として、
  Hn = ƒ(n) が真なら Hn+1 = ƒ(n+1) も真
ということを言えばいい。 Hn+1 は和 Hn に、新しい項 1/(n + 1) が追加されたものだから、 Hn と比べると 1/(n + 1) だけ値が大きい。よって
  ƒ(n) と比べると ƒ(n + 1) も 1/(n + 1) だけ値が増えている
ことを示せば、目的が達成される―― Hn も ƒ(n) も n = 1 のときは値が一致するのだから、もし n が 1 増えるごとに、どちらも全く同じ増え方をするなら、当然、両者はどんな整数 n > 0 に対しても等しい値を持つ!

ƒ(n + 1) − ƒ(n) = 1/(n + 1) を示すことができれば、証明完了。

✿

今、ヒを参照すると:
  ƒ(n + 1) = {k=1 to n+1} (n + 1 C k)⋅(−1)k−1/k  フ
そこから ƒ(n) を引き算した差が問題なのだから、フを「ヒを引き算しやすい形」で表現したい。ヒは、総和の範囲が k = 1 から n まで。フは、総和の範囲が k = 1 から n+1 まで。 k の範囲を統一して項数をそろえるため、フの和を「k = 1 から n まで」と「k = n+1 のとき」の二つの部分に分割しよう。第一に k = n+1 のときのフの右辺は:
  (n + 1 C n + 1)⋅(−1)(n+1)−1/(n + 1) = (−1)n/(n + 1)
第二に k が 1 から n まで動くときのフの右辺は:
  {k=1 to n} (n + 1 C k)⋅(−1)k−1/k
従って、フはこうなる:
  ƒ(n + 1) = (−1)n/(n + 1) + {k=1 to n} (n + 1 C k)⋅(−1)k−1/k

そこからヒを引くと:
  ƒ(n + 1) − ƒ(n) = (−1)n/(n + 1) + {k=1 to n} (n + 1 C k)⋅(−1)k−1/k{k=1 to n} (n C k)⋅(−1)k−1/k
   = (−1)n/(n + 1) + {k=1 to n} [(n + 1 C k) − (n C k)](−1)k−1/k  ヘ
   = (−1)n/(n + 1) + {k=1 to n} (n C k − 1)⋅(−1)k−1/k  ホ
[ ] 内を簡約するのに「偽金貨の定理」を使った!

ヘの行を得る変形の根拠。その前の行の二つの ∑ の関係は、
  (n + 1 C 1)⋅+1/1 + (n + 1 C 2)⋅−1/2 + (n + 1 C 3)⋅+1/3 + ··· から
  (n C 1)⋅+1/1 + (n C 2)⋅−1/2 + (n C 3)⋅+1/3 + ··· を引き算
なので、その結果を次のように書くことができる:
  [(n + 1 C 1) − (n C 1)]⋅+1/1 + [(n + 1 C 2) − (n C 2)]⋅−1/2 + [(n + 1 C 3) − (n C 3)]⋅+1/3 + ···

✿

ƒ(n + 1) − ƒ(n) = 1/(n + 1) を示すのが目的なので、ホはまあまあいい線いってる。これで第1項の分子が単に 1 になってくれ、第2項の ∑ が = 0 になってくれれば簡単だが、そこまで甘くはないようだ…。ホの値が 1/(n + 1) に等しいのだとしたら、 ∑ から −(−1)n/(n + 1) が生じて邪魔な第1項を打ち消すと同時に、同じ ∑ から目的の 1/(n + 1) が生じることが予期される。つまり、この ∑ の各項の分母(現在は k である)が n + 1 になるような、自然な変形ができるはず。そう考えると、道が見えてくる。二項係数の基本技「吸収」を使えば:
  (n C k − 1)⋅(n + 1)/k = (n + 1 C k)
つまり (n C k − 1) の上下のインデックスを 1 ずつ増やすと、二項係数の値は (n + 1)/k 倍される。逆に言うと、上下のインデックスを 1 ずつ増やして、同時に全体を k/(n + 1) 倍しておけば、値は変わらず、望み通り分母に n + 1 が生じる:
  (n C k − 1) = (n + 1 C k) × k/(n + 1)  マ

別の言い方をすれば n(n − 1)(n − 2)···/[(k − 1)(k − 2)(k − 3)···](n + 1)n(n − 1)(n − 2)···/[k(k − 1)(k − 2)(k − 3)···] に変える代わりに、勝手に追加した因子が(約分されて消滅し)無害になるよう、全体を k/(n + 1) 倍する。

マをホに代入して:
  ƒ(n + 1) − ƒ(n) = (−1)n/(n + 1) + {k=1 to n} [(n + 1 C k) × k/(n + 1)(−1)k−1/k]
   = (−1)n/(n + 1) + {k=1 to n} (n + 1 C k)⋅(−1)k−1/(n + 1)
   = (−1)n/(n + 1) + 1/(n + 1) {k=1 to n} (n + 1 C k)⋅(−1)k−1
   = (−1)n/(n + 1) + −1/(n + 1) {k=1 to n} (n + 1 C k)⋅(−1)k  ミ

∑ 内の各項において 1/(n + 1) は(k の値と無関係の)定数なので、これを ∑ の外にくくり出した。最後の等号では ∑ 内の各項を −1 倍して、代わりに ∑ 全体に − を付けた。

ミの ∑ は、二項展開
  (1 + y)n+1 = {k=0 to n+1} (n + 1 C k)⋅1n+1−k⋅yk
において y = −1 とした形と酷似している。わずかな違いとして、上記と比べて、ミでは k の範囲から k = 0 と k = n+1 の二つが抜けている――ミの ∑ は、大ざっぱに (1 + (−1))n+1 に等しいのだが、それを展開したとき生じる両端の項 1n+1 = 1 および (−1)n+1 が、ミの ∑ には無い。要するにミの ∑ は、
  (1 + (−1))n+1 − 1 − (−1)n+1 = 0n+1 − 1 − (−1)(−1)n
   = −1 + (−1)n = (−1)n − 1
に等しい。ミの ∑ をそれに等しい上の式で置き換えると、
  ƒ(n + 1) − ƒ(n) = (−1)n/(n + 1) + −1/(n + 1) [(−1)n − 1]
   = (−1)n/(n + 1) + [−(−1)n + 1]/(n + 1) = 1/(n + 1)
を得る。証明が完了した。∎

✿

参考までに、解析を使うと、次のような別証も可能。仮に、多項式(y を変数とする)についての等式
  {k=1 to n} [(1 + y)k − 1]/k = {k=1 to n} (n C k)⋅yk/k  ム
が成り立つとしよう(n は正整数)。ムで y = −1 と置けば、
  {k=1 to n} −1/k = {k=1 to n} (n C k)⋅(−1)k/k
となり、両辺を −1 で割れば、証明されるべき式
  {k=1 to n} 1/k = {k=1 to n} (n C k)⋅(−1)k−1/k
を得る。

事実ムが成り立つことを示す。ムの両辺を項ごとに微分すると:
  {k=1 to n} (1 + y)k−1 = {k=1 to n} (n C k)⋅yk−1  メ

メの両辺が多項式として等しいことは、容易に示される(後述)。仮にそのことを承認すると、ムの左辺と右辺は、導関数が等しいから、差が定数(言い換えると、メの等しい両辺をそれぞれ積分したものがムの等式なので、ムの左辺と右辺には積分定数の違いしかない)――しかも y = 0 のときムの両辺は一致するので(明らかに 0)、左辺と右辺の差は 0 であり、ムの両辺は多項式として等しい!

従って、メの両辺が等しいことを示せば証明が終わる。 00 = 1 に留意する y = 0 のときメが成り立つことは、直接確認可能。今、 y ≠ 0 と仮定して、等比数列のを考えると:
  メの左辺 = [(1 + y)n − 1]/[(1 + y) − 1] = (1/y) {(1 + y)n − 1}
   = (1/y) {[{k=0 to n} (n C k)⋅1n−k⋅yk] − 1}  ★
   = (1/y) {{k=1 to n} (n C k)⋅1n−k⋅yk}
   = (1/y) {k=1 to n} (n C k)⋅yk
この左端の 1/y を ∑ の内側に入れると、 yk/y = yk−1 なので、結果はメの右辺と一致する。∎

★ の処理について。 k = 0 のとき [ ] 内は 1 なので、もし k = 0 を省いて k = 1 から足し始めるなら、総和は 1 小さくなり +1 の補正が必要。ところが { } 内の右端(総和記号の外側)に − 1 があるので、それを補正値 +1 と相殺させれば、補正が不要になり右端の − 1 も消える。例えば、
  (1 + y)4 − 1 = (1 + 4y + 6y2 + 4y3 + y4) − 1 = 4y + 6y2 + 4y3 + y4
のような計算に当たる。

† 下記の証明法のアレンジ。式 b) で y = −X と置き両辺を −1 倍したものが「ム」。
https://fr.wikiversity.org/wiki/Sommation/Exercices/Formule_du_bin%C3%B4me#Exercice_5-8

‡ 一般に、二項係数が関係するような文脈では 00 = 1 と考える必要がある。さもないと (3 + 0)2 = 9 のような自明な等式の、二項展開が成り立たない。ちなみに、もし仮に 00 = 1 と認めることを拒んだとしても、メの両辺は y についての n−1 次式であり、従って両辺の差 δ(y) の次数は n−1 以下。よって δ(y) は、恒等的に 0 でない限り、 n−1 個以下の根しか持ち得ない。しかるに無限個の y に対して左辺 = 右辺であることがすぐに証明され、ゆえに δ(y) は恒等的に 0 でなければならず、すなわち両辺は多項式として等しい。

¶ A = 1 + y と置いて、メ左辺の値 L = A0 + A1 + A2 + ··· + An−1 を求めるなら、 LA = A1 + A2 + A3 + ··· + An だから:
  L(A − 1) = LA − L = An − A0 = An − 1
  ∴ L = (An − 1) ÷ (A − 1)

✿

古典数論に解析を持ち込む別証明は、モダンでおしゃまだけど、理論的枠組みが不明瞭なまま結果だけ使うのは、天下り的。やはり堅実な最初の証明をメインディッシュと考えるべきだろう。でも、食後のデザートというか余興として、ファンシーなフレーバーを味わってみるのも、また一興。

そもそも Hn を ƒ(n) の形で書けるってこと自体、天下り的。確かにそうなるけど、最初の発見者はどうやってこれに気付いたんだろ?

✿

まとめ。「最初の n 個の正整数」の逆数の和 Hn が、二項係数を含む交代和 ƒ(n) でも表現可能――ということを幾つかの具体例で観察し、それが一般的に成り立つことを証明した。この交代和表現は、それ自体として興味深い。というか、少しもやもやする。形式的には証明できたものの、何が起きているのか真相が不透明。

既に見たように、「ウォルステンホームの定理」の三つの命題を証明するには、フェルマーの小定理を経由するのが早道。けれどウォルステンホーム自身は、この ƒ(n) を使ったトリッキーな議論によって、最初の証明を完成させた(次回)。

偽金貨の例えは Knuth たちの著書 Concrete Mathematics に基づく(原文では「r 個の卵から k 個を選ぶ。ただし卵の一つは痛んでいる」うんぬん)。 Hn の交代和表現の証明は下記による。
https://fr.wikiversity.org/wiki/Sommation/Exercices/Calculs_%C3%A9l%C3%A9mentaires#Exercice_2-9

✿ ✿ ✿


2026-06-02 ウォルステンホームの定理: 発見者自身による証明

この定理は有名だが、発見者が最初に編み出した証明法は、半ば忘れられてしまった(もっと簡単な方法が見つかったので)。

遊びとして、あえてその「忘れられた証明」をトレースしてみたら結構楽しく、思いがけず面白い副産物も得られた。

✿

p が 5 以上の素数のとき、 Hp = 1 + 1/2 + 1/3 + ··· + 1/(p − 1) の分子が p2 で割り切れることの証明(1862年版)。便宜上、一部現代の表記に置き換えてある。

オリジナルの表記を見たい方は下記URL参照:
https://gdz.sub.uni-goettingen.de/download/pdf/PPN600494829_0005/LOG_0010.pdf
https://gdz.sub.uni-goettingen.de/id/PPN600494829_0005?tify=%7B%22pages%22%3A%5B43%5D%2C%22view%22%3A%22%22%7D

Hn が次の交代和に等しいこと(証明)を利用して、 ƒ(p − 1) の分子が p2 の倍数であることを示す。
  ƒ(n) = {k=1 to n} (n C k)⋅(−1)k−1/k

上の式で n = p − 1 と置くと:
  ƒ(p − 1) = {k=1 to p−1} (p − 1 C k)⋅(−1)k−1/k  ヤ
あるいは、同じことだが、ヤの k = 1, 2, 3, ···, p−2, p−1 の代わりに、逆順(ヤで k = p−1, p−2, p−3, ···, 2, 1 に相当)で項を並べると(k を p − k に置き換える):
  ƒ(p − 1) = {k=1 to p−1} (p − 1 C p − k)⋅(−1)p−k−1/(p − k) = {k=1 to p−1} (p − 1 C p − k)⋅−(−1)k−1/(p − k)  ユ

p−1 は偶数なので p−k−1 の偶奇は −k の偶奇に一致し、それは k の偶奇に一致。従って符号情報を (−1)k = −(−1)k−1 と書くことができる。

最初のアイデアは、ヤとユの項ごとの和を考えること(2倍の違いを別にすると、ヤを「両端から 2 項ずつ」足すことに当たる)。足し算の準備として、少し通分しておく:
  (p − 1 C k) × 1/k = (p − 1)!/[k! (p − 1 − k)!] × 1/k = (p − 1)!/[k! (p − k)!] × (p − k)/k
これがヤの一般項(符号を除く)。分母の (p − 1 − k)! = (p − k − 1)! を (p − k)! にしたいので、分子に p − k を掛けた。一方:
  (p − 1 C p − k) × 1/(p − k) = (p − 1)!/[(p − k)! (p − 1 − (p − k))!] × 1/(p − k) = (p − 1)!/[(p − k)! k!] × k/(p − k)
こちらがユの一般項。分母の (p − 1 − p + k)! = (k − 1)! を k! にしたいので、分子に k を掛けた。

前者の符号は (−1)k−1 で後者の符号は −(−1)k−1 なので、和といっても引き算のような形になる。前者と後者(ヤとユ)の和は一般項は、
  (p − 1)!/[k! (p − k)!] × [(p − k)/k − k/(p − k)] × (−1)k−1  ヨ
となり、この [ ] 内は (p − k)2/[k(p − k)] − k2/[k(p − k)] = [(p2 − 2pk + k2) − k2]/[k(p − k)] = (p2 − 2pk)/[k(p − k)] なので:
  ヨ = (p2 − 2pk)/[k(p − k)] × (p − 1)!/[k! (p − k)!] × (−1)k−1  ラ
ここで (p − 1)!/[k! (p − k)!] は整数に等しい(※補足1)。

p2 の倍数 p2 × (p − 1)!/[k! (p − k)!] × (−1)k−1 ――その具体的な値については気にしない――を k(p − k) で割った分数を、次のように、ラを変形して分離しよう:
  ラ = (p2 の倍数)/[k(p − k)] + (−2pk)/[k(p − k)] × (p − 1)!/[k! (p − k)!] × (−1)k−1
   = (p2 の倍数)/(p − 1)! − 2p⋅{(1)/(p − k) × (p − 1)!/[k! (p − k)!]⋅(−1)k−1}  リ
p は奇数なので k と p − k は相異なる整数。どちらも 1 以上 p − 1 以下だから、 k がなんであれ、 (p2 の倍数)/[k(p − k)](p2 の倍数)/(p − 1)! の形に通分して(同じ「p2 の倍数」でも、むろん後者の方がでかい)合算できる。

従って、ヤとユの和から、次が成り立つ(k の値ごとの各項の和についてはリ参照。ル右辺・第1項は、リ・第1項の形の分数を合算したもの):
  2ƒ(p − 1) = (p2 の倍数)/(p − 1)! − 2p {k=1 to p−1} {(p − 1)!/[k! (p − k)!](1)/(p − k)⋅(−1)k−1}  ル

✿

さて、ルに含まれる分数 (p − 1)!/[k! (p − k)!] は、
  [(p − 1)(p − 2)···(p − (k − 1))]/k!  レ
に等しい。分子の (p − 1)! から生じる因子のうち (p − k)(p − k − 1)···2⋅1 は、分母の (p − k)! によって約分されるから。

レの分子を p についての多項式と見て(分母の k! については気にせずに)展開すると、定数項以外は当然 p の倍数。定数項は −1, −2, ···, −(k − 1) の積だから ±(k − 1)! で、その符号は k − 1 が偶数なら正、奇数なら負――分母の k! と約分すれば ±1/k になる。すなわち:
  (p − 1)!/[k! (p − k)!] = [(p の倍数) + (−1)k−1(k − 1)!]/k! = p の倍数/k! + (−1)k−1/k  (✽)
これをルに代入すると:
  2ƒ(p − 1) = (p2 の倍数)/(p − 1)! − 2p {k=1 to p−1} {[(p の倍数)/k! + (−1)k−1/k]⋅(1)/(p − k)⋅(−1)k−1}
   = (p2 の倍数)/(p − 1)! − 2p {k=1 to p−1} {(p の倍数)/[k! (p − k)] + 1/k(p − k)]}
なぜなら p の倍数は (−1)k−1 = ±1 倍されても依然 p の倍数だし、因子 (−1)k−1 = ±1 の自乗は (±1)2 = 1 なので、無いのと同じ。

ここで { } 内の (p の倍数)/[k! (p − k)] は、 ∑ 全体に掛かっている係数 2p も考慮すると、「分子が p2 の倍数」の分数になる。必要に応じて通分すれば、式先頭の分数 (p2 の倍数)/(p − 1)!合算可能。分母 (p − 1)! と分母 k! (p − k) は、どちらも p 未満の(正の)因子しか含まないので、通分して合算した後の分母を N とする N は p 未満の因子しか含まない
  2ƒ(p − 1) = (p2 の倍数)/N − 2p {k=1 to p−1} {1/[k(p − k)]}
   = (p2 の倍数)/N − 2 {k=1 to p−1} p/[k(p − k)]
となる。しかも p/[k(p − k)] = [(p − k) + k]/[k(p − k)] = (p − k)/[k(p − k)] + k)/[k(p − k)] = 1/k + 1/(p − k) であるから:
  2ƒ(p − 1) = (p2 の倍数)/N − 2 {k=1 to p−1} {1/k + 1/(p − k)}

この最後の右辺の ∑ において、 k が 1 から p−1 まで動くとき、 1/k の和は
  1 + 1/2 + 1/3 + ··· + 1/(p − 1)
に、つまり ƒ(p − 1) に、等しい。 1/(p − k) の和も、逆順の足し算によって、同じ値に等しい。結局:
  2ƒ(p − 1) = (p2 の倍数)/N − 2[ƒ(p − 1) + ƒ(p − 1)] = (p2 の倍数)/N − 2[2ƒ(p − 1)]
  ∴ 6ƒ(p − 1) = (p2 の倍数)/N

p は 5 以上の素数なのこの両辺を 6 = 2⋅3 で割っても、右辺分子の素因子 p は約分されない。分母 N も p 未満の因子しか持たないので、分子の素因子 p が約されることはない。ゆえに ƒ(p − 1) は「分子が p2 の倍数であるような分数」と等しく、そのことは、分数を約分しても変わらない。∎

† 実は、一方の分子の分母 (p − 1)! 自身をそのまま N とすることができ、それ以上の通分は不要(補足1参照)。

‡ ここで p ≥ 5 という条件が利いてくる。もしも因子 p が 3 だったら、 6 で割ると約分されて消えてしまう。

✿

補足1 A = p!/[k! (p − k)!] は、 p 個の物から k 個の物を選ぶときの組み合わせの数 (p C k) で、従って整数。仮定により p は素数かつ 0 < k < p なので、 A の分母には素因子 p が含まれず、分子の p! = p(p − 1)(p − 2)···2⋅1 に含まれる素因子 p は約分されない。すなわち A の分数は p の倍数(整数)に等しい。よって A を p で割った商
  (p − 1)!/[k! (p − k)!]
は整数。従って (p − 1)! は k! (p − k)! の倍数

k = 1, 2, ···, p − 1 のそれぞれに関して、
  (p − 1)! は k! (p − k) の公倍数  《⁇》
というのは、無条件に成り立つことではない(実際 p が素数という条件を外し、例えば p = 6, k = 3 とすると、その主張は成り立たない)。「分母 k! (p − k) の分数」と「分母 (p − 1)! の分数」を通分した分数の分母 N は、二つ目の分母 (p − 1)! 自身――ということを本文では主張しなかった(その点がうやむやなままでも、証明に支障ないので)。しかし上述のように、
  (p − 1)! は k! (p − k)! の倍数
であるから、それは当然 k! (p − k) の倍数でもあり、 p が素数なら《⁇》は正しい。

✿

「なんかゴチャゴチャした証明だなぁ。フェルマーの小定理を使えば簡単にできるのに、わざわざ物好きな…」と思われるかもしれない。

だがこの苦心の証明には見どころもある。 p が素数で 0 < k < p のとき、二項係数 (p C k) は p で割り切れる、というのは常用されるテクニックだが(いわゆる新入生の夢)、「レ」はその割り切れた商に当たり、(✽)は「その商に ±1/k を足すと、結果の分子が再び p で割り切れる」と言っている(符号は k が偶数ならプラス)。

例えば (x + y)7 の係数 7, 21, 35 (なんか太~い産後)において…

(7 C 2) = 21 は 7 で割り切れて商 3 ⇒ 3 + 1/2 = 7/2 の分子も 7 で割り切れる
(7 C 3) = 35 は 7 で割り切れて商 5 ⇒ 5 − 1/3 = 14/3 の分子も 7 で割り切れる
(7 C 4) = 35 は 7 で割り切れて商 5 ⇒ 5 + 1/4 = 21/4 の分子も 7 で割り切れる
(7 C 5) = 21 は 7 で割り切れて商 3 ⇒ 3 − 1/5 = 14/5 の分子も 7 で割り切れる

これは面白いっ!!

さらに (x + y)11 の係数 11, 55, 165, 330, 462 (獣医が午後拾った子・耳丸白豚)で試すと…

(11 C 2) = 55 は 11 で割り切れて商 5 ⇒ 5 + 1/2 = 11/2 の分子も 11 で割り切れる
(11 C 3) = 165 は 11 で割り切れて商 15 ⇒ 15 − 1/3 = 44/3 の分子も 11 で割り切れる
(11 C 4) = 330 は 11 で割り切れて商 30 ⇒ 30 + 1/4 = 121/4 の分子も 11 で割り切れる
(11 C 5) = 462 は 11 で割り切れて商 42 ⇒ 42 − 1/5 = 209/5 の分子も 11 で割り切れる
etc.

ささやかな発見。

✿ ✿ ✿


<メールアドレス>