他のメモへのリンク集。リンク集を飛ばして、このページの前書きへ。本文の目次へ。
![]()
前のページ(『遊びの数論61』)から引き続き、グレイシャー(Glaisher)の Congruences relating to the sums of products of the first n numbers を読んでます。読み始めたら、好奇心を刺激され、かなり夢中モード(笑)。今で言う「スターリング数」ですが、その用語が生まれる少し前、19世紀末の論文。途中で必要に迫られ、二項係数に関する Lucas の定理を導入――この定理はシンプルで美しく、基礎的で応用の利く内容です。それ以外の部分は、かなりマイナーでマニアックな話題かも。内容自体は初等的で、特に高度な知識が必要なわけでもないのですが。

![]()
2026-06-18 博士の愛した公式(その2)
Glaisher の「4乗数を法とする合同式」のうち、 Sk(N) の N が偶数(N + 1 が奇数)の場合に関するものは、スターリング数を使うと、こう要約できる。いわく p が奇素数なら、 0 以上の任意の(ただし (p − 3)/2 を除く)整数 q に対して、次が成り立つ。
[p S 2q] ≡ pq⋅[p S 2q + 1] (mod p4)
前回は N が偶数の場合について記した。今回は N が奇数(N + 1 が偶数)の場合について、入り口の部分を記す。
![]()
N = 2h − 1 が奇数の場合の Sk(N) の σ 表現を引用する。 k = 2t が偶数のケース(§11)と k = 2t + 1 が奇数のケース(§12)。いずれも、
σj = σj(h − 1; 2h), L = 2h (= N + 1), μ = h − t
とする。
S2t(2h − 1) = σt + [μ2/2!]⋅L2⋅σt−1 + [(μ + 1)μ2(μ − 1)/4!]⋅L4⋅σt−2 + [(μ + 2)(μ + 1)μ2(μ − 1)(μ − 2)/6!]⋅L6⋅σt−3 + ···
S2t+1(2h − 1) = (μ − 1/2){Lσt + [μ(μ − 1)/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)(μ − 2)/5!]⋅L5⋅σt−2 + ···}
第1式の (μ − 1/2)⋅L 倍
(μ − 1/2){Lσt + [μ⋅3μ/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)⋅5μ/5!]⋅L5⋅σt−2 + [(μ + 2)(μ + 1)μ(μ − 1)(μ − 2)⋅7μ/7!]⋅L7⋅σt−3 + ···}
から第2式を引くと:
(μ − 1/2)⋅L⋅S2t(2h − 1) − S2t+1(2h − 1)
= (μ − 1/2){[μ⋅[3μ − (μ − 1)]/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)⋅[5μ − (μ − 2)]/5!]⋅L5⋅σt−2 + [(μ + 2)(μ + 1)μ(μ − 1)(μ − 2)⋅[7μ − (μ − 3)]/7!]⋅L7⋅σt−3 + ···}
= 1/2(2μ − 1){[μ⋅[2μ + 1]/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)⋅[(2μ + 1)⋅2]/5!]⋅L5⋅σt−2 + [(μ + 2)(μ + 1)μ(μ − 1)(μ − 2)⋅[(2μ + 1)⋅3]/7!]⋅L7⋅σt−3 + ···}
= 1/2(4μ2 − 1){[μ⋅1/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)⋅2/5!]⋅L5⋅σt−2 + [(μ + 2)(μ + 1)μ(μ − 1)(μ − 2)⋅3/7!]⋅L7⋅σt−3 + ···}
従って (h − t − 1/2)⋅L⋅S2t(2h − 1) と S2t+1(2h − 1) は、もし仮に { } 内の値が因子 2 を十分多く持つなら法 L3 で合同であり、その場合、もし σt−1(h − 1; 2h) も L の倍数なら、法 L4 でも合同になるかもしれない。
しかし L = 2h は偶数であり { } 内の分母によって素因子 2 が一つ以上約されるので、 { } 内の和に、 L3 等で割り切れるのに十分なだけの素因子 2 が残るかどうか分からないし、この { } 内全体に係数 1/2 が掛かっているので、素因子 2 の数はさらに一つ減る。従って、一般的に言うならば、上述の合同式の法は―― L3 ないし L4 ではなく―― h3 ないし h4 となる(以前、別の文脈でも同様の状況が起きた。付録Bも参照)。
L が素因子 3 を持つとしても、それが分母の 3 と約されて消えることはない。なぜなら因子 μ, 2μ + 1, 2μ − 1 のどれかは 3 の倍数で、約分に必要な 3 はそこから供給される。 { } 内の第2項以降は、十分多くの因子 L を持ち、 L の各素因子 δ (≠ 2) に関しては、 L3 が持つ素因子 δ と同じ個数以上が残る。
要するに N (= 2h − 1) が奇数で k (= 2t) が偶数の場合、 h3 を法として(一定の条件が満たされるときは h4 を法として):
[(N + 1)/2 − k/2 − 1/2](N + 1)⋅Sk(N) ≡ Sk+1(N) つまり
(N − k)(N + 1)/2⋅Sk(N) ≡ Sk+1(N)
この最後の合同式で N = L − 1, k = r − 1 と置くと、下記〘ⅲ〙を得る。ただし、任意の正整数 N について S0(N) = 1 とし、 j > N のときは Sj(N) = 0 とする。
Sk(L − 1) に関する法が3乗数・4乗数の合同式(Glaisher [7], §59, X)
r を(L 以下の)正の奇数とする。 L が正の奇数なら:
〘ⅰ〙 [L(L − r)/2]⋅Sr−1(L − 1) ≡ Sr(L − 1) (mod L3)
〘ⅱ〙 特に L が素数かつ r ≠ 3 なら、上記の合同式は mod L4 でも成り立つ。
L = 2h が正の偶数なら:
〘ⅲ〙 [L(L − r)/2]⋅Sr−1(L − 1) ≡ Sr(L − 1) (mod h3)
〘ⅳ〙 上記の合同式は、しばしば mod h4 でも成り立つ。
r = 1 の場合、または L が奇数で r ≥ L の場合、または L が偶数で r ≥ L + 1 の場合、命題は自明。それ以外の場合について、〘ⅰ〙〘ⅱ〙は既知の命題において L = N + 1 かつ r = α + 1 と置いただけ。
Glaisher は〘ⅱ〙と似た形式で〘ⅳ〙の十分条件を記した。その問題については後述するが、多少の準備が必要。
公式 Sk(n − 1) = [n S n − k] を使って、上記の合同式を「スターリング数を使った表記」に変換すると、
(L(L − r)/2)⋅[L S L − r + 1] ≡ [L S L − r]
となる。 L と L − r をあらためてそれぞれ n と k と置くなら:
法が3乗数・4乗数の合同式(スターリング数について)
[n S k] ≡ (nk/2)⋅[n S k + 1]
この合同式は、 n が正の奇数の場合、任意の偶数 k = 0, 2, 4, ··· に対して mod n3 で有効(n が奇素数かつ k ≠ n − 3 なら mod n4 でも有効)。一方、 n = 2h が正の偶数の場合、任意の奇数 k = 1, 3, 5, ··· に対して mod h3 で有効(しばしば mod h4 でも有効)。
![]()
2026-06-20 「二項係数」を斬る! 余りの下克上
げこくじょう【下克上・下剋上】 下の立場の者が上の立場の者をしのぎ、勢力を振るうこと。
15人の選手がいるバスケチームから、5人のスターターを選ぶ方法は 3003 通りもある:
(15 C 5) = (15⋅14⋅13⋅12⋅11)/(1⋅2⋅3⋅4⋅5)
= (14⋅13⋅12⋅11)/(1⋅2⋅4) = 7⋅13⋅3⋅11 = 3003
これには優秀なコーチも悩むかも? どの選手を起用するかもそうだが、この計算は、あまり簡単ではない。
やぶから棒だけど、この (15 C 5) の上の数 15 と下の数 5 をそれぞれ p = 7 で割ると、 15 ÷ 7 の余りは 1。 5 ÷ 7 の余りは 5。「下の余り」の方が大きい。ところで 3003 は p = 7 で割り切れる。
同じ 15 と 5 をそれぞれ p = 13 で割ると、「上の余り」は 2 で「下の余り」は 5。やはり下が大きい。ところで 3003 は p = 13 でも割り切れる!
一般に y = (n C k) の上の数 n と下の数 k をそれぞれ p で割ったとき、もし「下の余り」が「上の余り」を超えるなら(余りの下克上)、 y は p で割り切れる。ここで p は、任意の素数(1 と自分自身でしか割り切れない 2 以上の数)。 p = 2, 3, 5, 7, 11, 13 など。
この豆知識について略述。「下克上」の概念を使って、とある美しい定理を証明したい。
![]()
§1 7 × 13 = 91 は、「素数と間違えられる数」として知られる(70 を引いてみれば、残りは 21 = 3⋅7 で、 7 の倍数であることは明白だが)。特徴的な積 7 × 11 × 13 = 1001 は、 7⋅13 × 11 = 91 × 11 = 910 + 91 と考えれば納得がいく。上の数(上側インデックス)が 14 ~ 16 の二項係数は、しばしば 1001 の倍数。
(15 C 5) = (15⋅14⋅13⋅12⋅11)/(1⋅2⋅3⋅4⋅5) ア
= (14⋅13⋅12⋅11)/(1⋅2⋅4) ← 15 ∕ 3⋅5 を約分
= 7⋅13⋅3⋅11 ← 14 ∕ 2 と 12 ∕ 4 を約分
= 3 × (7⋅13⋅11) = 3 × 1001 = 3003
(n C k) は「n 個の物から k 個の物を選ぶ組み合わせの数」なので整数だが、上記アのような分数の形で表現されることが多い。その分子は、 n から始まってだんだん小さくなる整数 k 個の積。
n(n − 1)(n − 2)···(n − k + 1) イ
そして分母は k! つまり「1 から k までの各整数の積」。
同じことだが、次のように通分して表記されることもある。分子イに
(n − k)(n − k − 1)(n − k − 2)··· 3⋅2⋅1 つまり (n − k)!
を掛ければ、分子は全体として n! に。分母にも同じ (n − k)! を掛ければ、分数の値は変わらない。
(n C k) = n!/[k! (n − k)!] ウ
別表現ウを「15人のバスケチームから5人を選ぶ」例に適用すると:
(15 C 5) = 15!/[5! (15 − 5)!] = 15!/(5! × 10!)
= 15⋅14⋅13⋅12⋅11⋅10⋅9···3⋅2⋅1/[(5⋅4⋅3⋅2⋅1)(10⋅9···3⋅2⋅1)]
分子の 10⋅9···3⋅2⋅1 を分母の (10⋅9···3⋅2⋅1) と約分すれば、アと同じこと。
![]()
§2 「余りの下克上」によって、二項係数 (n C k) が p で割り切れる仕組み。一般論の前に、具体的な数値例を。
「下克上」が起きない場合から観察した方が、見通しがいい。例えば (19 C 12) = 50388 の上と下をそれぞれ p = 5 で割ると、上の余りは 4、下の余りは 2。下克上は起きず、もちろん 50388 は p = 5 で割り切れない。ウのように、
(19 C 12) = 19!/[12! (19 − 12)!] エ
と見るなら、この 18564 という数は、「分子が 19! で、分母が 12! × 6! の分数」に等しい。
エの分子 19! は、因子 5 をいくつ持つか?
19! = 1⋅2⋅3⋅4⋅5 カ
× 6⋅7⋅8⋅9⋅10 キ
× 11⋅12⋅13⋅14⋅15 ク
× 16⋅17⋅18⋅19 ケ
の構成要素のうち、 5 の倍数はカ・キ・クの右端の 5 と 10 と 15 だけ(ケも、あと一つ長ければ、 5 の倍数 20 を含んでいたところだが、そこまでいかず 19 で打ち切り)。よって「5 で何回割れるか?」だけを問題にするなら、
5 × 10 × 15 = (1⋅5)(2⋅5)(3⋅5) = 1⋅2⋅3 × 53 = 3!⋅53
を考えればいい。
このうち 3! の部分には因子 5 はないけど、もっと大きな数、例えば 33! を扱うなら、対応する同様の数は、
5 × 10 × 15 × 20 × 25 × 30 = 1⋅2⋅3⋅4⋅5⋅6 × 56 = 6!⋅56
となり 6! の部分にも因子 5 が入り込む。一般に n を p で割った商が a のとき(余りを無視)、 n が持つ因子 p の総数は、 a!⋅pa が持つ因子 p の総数に等しい。
同様に考えると、「因子 5 を何個持つか?」という観点では、エの分母のうち:
12! は 2!⋅52 は同等(12 ÷ 5 の商は 2)
(19 − 12)! つまり 7! は 1!⋅51 と同等(7 ÷ 5 の商は 1)
後者は要するに 5 だが、統一的に a!⋅pa スタイルで表記した。これらの情報を総合すると、分数エは
(3!⋅53)/(2!⋅52 × 1!⋅51)
と同等(「因子 5 を何個持つか?」に関して)であり、分子・分母にそれぞれ三つだけ因子 5 がある。よって、因子 5 は約分により全部消滅し、結果の整数は 5 の倍数ではない。
ここで重要なのは (19 − 12)! の部分の挙動。 p = 5 と置き、 p で割った商と余りを考えると、
19 = 3p + 4 そして 12 = 2p + 2
∴ 19 − 12 = (3p + 4) − (2p + 2) = (3p − 2p) + (4 − 2)
という関係だ。 3p + 4 の後ろの 4 と、 12 = 2p + 2 の後ろの 2 は、それぞれ (19 C 12) の上と下を p で割ったときの余りに他ならない。この「下の余り」の 2 が「上の余り」の 4 を超えないからこそ、
(3p − 2p) + (4 − 2) = (3p − 2p) + w
の w の部分が 0 以上になる。
しかし 5 で割った余りは {0, 1, 2, 3, 4} のどれかなので、 p = 5 の場合、
「上の余り」と「下の余り」の差(それを w とする)
は最大で 4 − 0 = 4、最小で 0 − 4 = −4。場合によっては、負になる。 w が負になるケースとは、すなわち「下の余り」が「上の余り」を超えるケース、つまり「余りの下克上」だ!
〔注意〕 「下の余り」が「上の余り」に等しい場合(w = 0)は、下克上に含まれない。下克上が成立するためには、「下の余り」が「上の余り」を超える必要がある(w < 0)。
もし w が負の数、例えば −1 だとすると、 (3p − 2p) + w = (1⋅p) + (−1) = 0⋅p + 4 のように(p = 5 の例)、「分母が持つ因子 p の個数」が一つ少なくなる(w が 0 以上の場合と比べて)。その結果、約分の後でも分子には因子 p が残り、結果は p で割り切れる、と。
まぁ、一応そんな感じ。
![]()
§3 下克上が起きる場合・起きない場合と、その違いがもたらす影響について、もうちょいきちんと。
補助命題1 D を任意の正の整数、 p を素数とする。 D を p で割ったとき商が E で余りが F だとしよう:
D = Ep + F ここで F は 0 以上 p 未満
このとき D! が含む因子 p の個数は、
E!⋅pE
が含む因子 p の個数と一致する。
証明 積 D! = 1⋅2⋅3···D を構成するちょうど D 個の整数たちを、次のように「原則として 1 行につき p 個の数」があるように、 p 個ずつ区切って考える。
| p 個 の 数 × E 行 | 1 | 2 | 3 | ··· | p | ||
|---|---|---|---|---|---|---|---|
| p + 1 | p + 2 | p + 3 | ··· | 2p | |||
| 2p + 1 | 2p + 2 | 2p + 3 | ··· | 3p | |||
| ︙ | ︙ | ︙ | ︙ | ︙ | |||
| (E − 1)p + 1 | (E − 1)p + 2 | (a − 1)p + 3 | ··· | Ep | |||
| Ep + 1 | Ep + 2 | Ep + 3 | ··· | Ep + F (= D) | ↑p の 倍数 | ||
| F 個だけの数 × 1 行 | |||||||
もし D が p で割り切れないなら(つまり余り F ≠ 0 なら)、最後に「F 個だけの因子から成る短い行」が一つできる。もし D が p 未満なら(つまり商 E = 0 なら)、そのような「短い行」しかできないが、それでもいい。 1 から D までの数のうち、因子 p を含むものは、
p, 2p, 3p, ···, Ep
の E 個だけ(もし E = 0 なら 0 個)。よって D! が含む因子 p の総数は、次の積が含む因子 p の総数と一致する。
p × 2p × 3p × ··· × Ep = (1⋅2⋅3···E)⋅pE = E!⋅pE
E > 0 なら、上記の関係は明白。一方、もし E = 0 なら D! が含む因子 p は 0 個だが、その場合も同じ等式は有効。実際、そのとき E!⋅pEは 0! = 1 と p0 = 1 の積に(つまり 1 に)等しいが、この 1 という数は、因子 p をちょうど 0 個含む。∎
![]()
§4 今 n, k を正の整数とする。二項係数の性質(定義)から、もし n = k なら (n C k) = 1、もし n < k なら (n C k) = 0 だが、 1 ないし 0 については「p の倍数か否か?」は考えるまでもない。そこで、以降 n > k と仮定しよう――その場合、 n − k も正の整数。
(n C k) の n を p で割ったときの商を a、 余りを u とする。 k を p で割ったときの商を b、 余りを v とする。
n = ap + u ここで u は 0 以上 p 未満
k = bp + v ここで v は 0 以上 p 未満
このとき:
n − k = (a − b)p + (u − v)
表記簡潔化のため c = a − b, w = u − v と置くと:
n − k = cp + w ここで w は −p < w < p の範囲の整数
仮定により商 a, b, c (= a − b) はいずれも 0 以上。
「因子 p の個数」だけを問題にするなら、補助命題1により n! は a!⋅pa と同等で、 k! は b!⋅pb と同等。同様に、もし仮に w = u − v が 0 以上なら、同じ補助命題により (n − k)! は c!⋅pc と同等。その場合、
(n C k) = n!/[k! (n − k)!]
は、
(a!⋅pa)/(b!⋅pb × c!⋅pc)
と同等であり、 a! と b! と c! をひとまず無視するなら、分子にも分母にも因子 p が a 個ずつある(分母のうち pb は b 個の p を含み、 pc = pa−b は a − b 個の p を含む。それらの合計は a 個)。ゆえにこのケースでは、一般には、約分によって分子・分母の因子 p は全部消滅し、結果は p の倍数にならない(例外として、もし「a! が含む因子 p の個数」が「b! と c! が含む因子 p の個数の合計」を上回るなら、約分後にも因子 p が残り、結果は p の倍数)。
w = u − v が 0 以上ということは、「下の余り」 v が「上の余り」 u を超えない、ということ。下克上が起きない、ということ。
他方において、もし仮に下克上が起きて w = u − v が負なら、もはや (n − k)! は c!⋅pc と同等にならず、 (c − 1)!⋅pc−1 と同等になる。
なぜなら w が負なら n − k = cp + w は cp より少し小さいから、それを p で割ると、商は c より少し小さい(正確には c − 1 に等しい)。よって、その場合 (n − k)! の積を構成する整数たち 1, 2, 3, ···, n − k を 1 行につき p 個ずつ並べると、「p 個の数から成る行」が c − 1 個だけでき、 c 行目には p 個未満の数しかない。 1 から n − k までの整数のうち p の倍数は p 個ごとに最後の 1 個だから、「p 個の数から成る各行」の末端のものだけが p の倍数。つまり、その範囲の p の倍数を列挙すると:
p, 2p, 3p, ···, (c − 1)p
これら c − 1 個の「p の倍数」の積は (c − 1)!⋅pc−1 に等しい。
要するに w が負の場合(=下克上が起きた場合)、もし a! と b! と c! の影響を無視するなら、「分母が含む因子 p の個数」は「分子が含む因子 p の個数」より 1 小さいので、約分後にも因子 p が残り、結果は p の倍数。 a! と b! と c! の影響も考慮するなら、約分後に残る p の個数はさらに増える可能性があるが、減る可能性はない(※補足1)。従って「下克上 ⇒ 約分後の数は因子 p を含み p の倍数」は常に成り立つ(逆は必ずしも真ではない)。

※補足1 下記の分数の分子が(または分子と分母の両方が)因子 p を含むなら、約分後も因子 p が残る。
a!/(b! × c!) すなわち a!/[b! (a − b)!]
実際、分母 b! (a − b)! が因子 p を含むなら、分子 a! も因子 p を同じ個数以上含む。もしもそうでなかったら(つまり、もしも分母が含む因子 p の個数の方が多かったなら)、約分後の分数は 1/p などの非整数になってしまうが、それは不合理。なぜならこの分数は、二項係数
(a C b) = a!/[b! × (a − b)!]
であり、 a 個の物から b 個の物を選ぶ組み合わせの数。当然、整数でなければならない。
より直接的に、例えば a = 7 と b = 3 と c = a − b = 7 − 3 = 4 の場合を考えてみる。
a! = 1⋅2⋅3⋅4⋅5⋅6⋅7
b! = 1⋅2⋅3 そして c! = 1⋅2⋅3⋅4
であるから、 a!/(b! × c!) が整数であることを言うには、 b! の内容を約分した後の (4⋅5⋅6⋅7)/(1⋅2⋅3⋅4) が整数であることを言えばいい。そのためには、 4, 5, 6, 7 を適当に並び替えると、順に「1 の倍数」「2 の倍数」「3 の倍数」「4 の倍数」になることを、示せばいい。それは易しい。連続する 4 整数の中に、必ず「4 の倍数」が一つ含まれること、「3 の倍数」が一つ以上含まれること、等々は(それら各数を 4 で割った余り、 3 で割った余り、等々を考えれば)明白。 a = 7 の例に限らず、一般の場合も同様。
![]()
§5 実用上 a! と b! と c! が何の影響も持たないケースを扱うことも多いと思われる。すなわち:
n < p2 の場合、「下克上」が起きるか否かだけによって、二項係数が p で割り切れるか否かを完全に判定できる。
証明 n < p2 なら n を p で割った商 a は p 未満なので、 a! = 1⋅2⋅3···a は因子 p を含まない。このとき b! も c! も因子 p を含まない(仮定により b も c = a − b も a 以下だから)。よって a! と b! と c! は因子 p の個数に何の影響も与えず、「下克上」が起きるか起きないかによって、結果が決まる。∎
n < p2 の条件があってもなくても、「下克上が起きれば p で割り切れる」という部分は変わらない。
二項係数 y が p で割り切れるためには、 y を表す分数の分子が含む因子 p の個数が、分母が含む因子 p の個数より、一つでも多ければいい。下克上は、この一つの差を可能にしてくれる(分母側の因子数を一つ少なくすることによって)。他方において、もし n が p2 以上で、かつ k も n − k も p2 未満なら、もともと分子が含む因子 p の個数の方が多いので、下克上が起きても起きなくても y は p で割り切れる。
〔例〕 y = (11 C 4) = (11⋅10⋅9⋅8)/(1⋅2⋅3⋅4) = 11⋅5⋅3⋅2 = (11⋅3)(5⋅2) = 330 について。
㋐ p = 11 の場合。 4 ÷ 11 による「下の余り」 4 は、 11 ÷ 11 による「上の余り」 0 を超える。下克上が起き、 y は p で割り切れる。
㋑ p = 7 の場合。 4 ÷ 7 による「下の余り」 4 は、 11 ÷ 7 による「上の余り」 4 を超えない(注: 等しい場合は「下克上」にならない)。下克上は起きず、 y は p で割り切れない。
㋒ p = 5 の場合。 4 ÷ 5 による「下の余り」 4 は、 11 ÷ 5 による「上の余り」 1 を超える。下克上が起き、 y は p で割り切れる。
㋓ p = 3 の場合。 4 ÷ 3 による「下の余り」 1 は、 11 ÷ 3 による「上の余り」 2 を超えない。下克上は起きていないが、 y は p で割り切れる。 n = 11 は p2 = 9 以上なので。
㋔ p = 2 の場合。 4 ÷ 2 による「下の余り」 0 は、 2 ÷ 3 による「上の余り」 1 を超えない。下克上は起きていないが、 y は p で割り切れる。 n = 11 は p2 = 4 以上なので。
![]()
§6 関連する話題として、 Glaisher による美しい定理を紹介したい。いわく n と k を p で割ったとき、それぞれ商が a, b で余りが u, v ならば、二つの整数
(n C k) と (a C b) × (u C v)
は、法 p の下で合同(つまり p で割った余りが等しい)。
次の補題を使う。
補助命題2(Glaisher [8], §3) D を任意の正整数、 p を素数とする。
D = Ep + F, 0 ≦ F < p
のとき、下記の合同式が成り立つ:
D!/pE ≡ (−1)E⋅E!⋅F! (mod p)
証明 D! は、次の三つの因子の積に等しい。
Q1 = 「法 p の下で 1, 2, ···, p − 1 に合同な数たち」の積 × E 組
Q2 = p⋅2p⋅3p···Ep
Q3 = 「法 p の下で 1, 2, ··· , F に合同な数たち」の積 × 1 組
| Q1 | Q2 | ||||||
|---|---|---|---|---|---|---|---|
| p 個 の 数 × E 行 | 1 | 2 | ··· | p − 1 | p | ||
| p + 1 | p + 2 | ··· | 2p − 1 | 2p | |||
| 2p + 1 | 2p + 2 | ··· | 3p − 1 | 3p | |||
| ︙ | ︙ | ︙ | ︙ | ︙ | |||
| (E − 1)p + 1 | (E − 1)p + 2 | ··· | Ep − 1 | Ep | |||
| Q3 | Ep + 1 | Ep + 2 | ··· | Ep + F (= D) | |||
Q1 の各組の数は p を法として ≡ −1 なので(Wilson の定理)、
Q1 ≡ (−1)E (mod p)
であり、また Q3 ≡ F! (mod p) である。よって D! = Q1⋅Q2⋅Q3 を Q2 = E!⋅pE で割った整数について、
D!/(E!⋅pE) = Q1⋅Q3 ≡ (−1)E × F! (mod p)
が成り立つ。両辺を E! 倍して、
D!/pE ≡ (−1)E⋅E!⋅F! (mod p)
を得る。∎
y = (n C k) に関連して、
n = ap + u (0 ≦ u < p)
k = bp + v (0 ≦ v < p)
n − k = cp + w (−p < v < p)
と置くとき(ただし c = a − b, w = u − v)、「因子 p の個数」だけを問題にする限りにおいて、 y は
(a!⋅pa)/(b!⋅pb × c!⋅pc) (✽)
と同等(§4)。この同等性は、補助命題2にいう Q2 の部分だけを考慮したもの(Q1 と Q3 は因子 p を含まないので、それらを無視した。補助命題1参照)。
今、因子 p の個数を考える代わりに、三つの整数 n! と k! と (n − k)! の値について mod p で考えたい。そのためには Q1 と Q3 も計算に含める必要がある。補助命題2において D に n ないし k ないし n − k を代入することに当たる。
例えば D = n = ap + u に関して、もし(✽)の分子を n! で割った上で、 Q1 に当たる (−1)a と Q3 に当たる u! をそこに因子として追加すれば、新しい分子は、整数 n!/pa と一致し、補助命題2が示すように、その整数について、次の合同式が成り立つ:
n!/pa ≡ (−1)a⋅a!⋅u! (mod p)
議論の便宜上、 w は負でない(下克上が起きていない)と仮定する。その場合、 a! と b! と c! を無視するなら、(✽)の分子にも分母にも因子 p が a 個ずつある(§4)。言い換えると、 pa = pb × pc であり、(✽)において、これらの因子は約分によりきれいに消滅する。
ゆえに、「分子を n! で割った上で」…という上記の処理は、単に(✽)から pa, pb, pc を削除(約分)することによって、正当に実行可能。結局 n! に関して補助命題2の合同式・右辺の形式を得るためには、(✽)の分子から因子 pa を除去し、代わりに因子 (−1)a⋅u! を追加すればいい。
D = n に関してだけでなく、 D = k に関して、および D = n − k に関しても、それぞれ同様に扱うことによって、(✽)から次の合同式の右辺を得る:
n!/[k! (n − k)!] ≡ [a!⋅(−1)a⋅u!]/[b!⋅(−1)b⋅v! × c!⋅(−1)c⋅w!] (mod p)
仮定により w は負でないので、分母の因子 w! は普通の階乗。
この左辺は、 Q1 と Q3 も計算に含めたものであり、 Q2 だけを考慮した(✽)とは(一般には)異なる整数値を持つ。右辺はそれを mod p で簡約したもの。部分的に(✽)を利用して導出したけど、内容は(✽)と直接関係ない。
この合同式の右辺において、 (−1)a と (−1)b と (−1)c は、全体としては無いのと同じ(c = a − b なので)。従って:
n!/[k! (n − k)!] ≡ (a! × u!)/[b!⋅c! × v!⋅w!] ≡ a!/[b! (a − b)!] × u!/[v! (u − v)!]
この合同式と、二項係数の定義(§1・ウ)から、下記の優美な定理を得る。
定理1(Lucas [9], §3; cf. Glaisher [8], §6) 正の整数 n, k を素数 p で割ったとき、商が a, b で余りが u, v なら:
(n C k) ≡ (a C b)⋅(u C v) (mod p)
何ともきれいで心に残る。形式的に、二項係数は「商ベクトル」と「余りベクトル」の内積(?)に等しい!
証明 「下克上」が起きない場合については、上述の通り。「下克上」が起きる場合、 (n C k) が p で割り切れるので、合同式の左辺は ≡ 0。かつ、下克上の定義によって「下の余り」は「上の余り」を超えるので、 (u C v) は自明に = 0、ゆえに合同式の右辺も ≡ 0。∎
〔例1〕 (23 C 11) = 1352078 ≡ 3 (mod 5) について。 23 と 11 を 5 で割ると、商は 4 と 2、余りは 3 と 1。そして:
(4 C 2)⋅(3 C 1) = 6⋅3 = 18 ≡ 3 (mod 5)
〔例2〕 同じ (23 C 11) = 1352078 = 193154⋅7 ≡ 0 (mod 7) について。 23 と 11 を 7 で割ると、商は 3 と 1、余りは 2 と 4。そして:
(3 C 1)⋅(2 C 4) = 3⋅0 = 0 ≡ 0 (mod 7)
「下克上」が起きて p で割り切れることは、定理1では、 (2 C 4) = 0 のような自明な二項係数に対応する。定理1はさらに、下克上が起きずに p で割り切れない場合についても、追加情報を与えてくれる――「割り切れないのなら、余りは何?」という情報を。
![]()
定理1を最初に発見したのは Lucas [9] だという†。定理1は Concrete Mathematics, 5.61 にも収録され、 Knuth も Lucas [9] を出典としている。 Glaisher [8] は、同じことを独立に再発見したらしい。 Glaisher の証明は素朴で平明。本文の議論はそれに基づく。「下克上」という表現は説明の便宜上のもので、もちろん Lucas や Glaisher がそのような用語を使ったわけではない。
† https://oeis.org/A348884
(Number of pairs of base-p digits for which binomial coefficients support a Lucas congruence modulo p^2, where p is the n-th prime)
References:
[8] J. W. L. Glaisher, “On the residue of a binomial-theorem coefficient with respect to prime modulus.”, The Quarterly Journal of Pure and Applied Mathematics 30 (1899), 150–156
https://gdz.sub.uni-goettingen.de/download/pdf/PPN600494829_0030/LOG_0010.pdf
https://gdz.sub.uni-goettingen.de/id/PPN600494829_0030?tify=%7B%22pages%22%3A%5B154%5D%2C%22view%22%3A%22%22%7D
[変数名 q と g の誤植に注意]
Cf. Glaisher, “On the reside with respect to pn+1 of a binomial-theorem coefficient divisible by p”, Quarterly Journal, 30 (1899), 349–360
https://gdz.sub.uni-goettingen.de/download/pdf/PPN600494829_0030/LOG_0019.pdf
https://gdz.sub.uni-goettingen.de/id/PPN600494829_0030?tify=%7B%22pages%22%3A%5B353%5D%2C%22view%22%3A%22%22%7D
[9] Édouard Lucas, “Sur les congruences des nombres eulériens et des coeficients diiérentiels des fonctions trigonométriques, suivant un module premier," Bulletin de la Société mathématique de France 6 (1878) , 49−54.
https://www.numdam.org/item/?id=BSMF_1878__6__49_1
![]()
2026-06-23 ウィルソンの定理の証明(ラグランジュ)の応用 逆三角の倍数列島
(x + 0)(x + 1)(x + 2)(x + 3)(x + 4) = x5 + 10x4 + 35x3 + 50x2 + 24x + 0 の係数(W0 = 1, W1 = 10, W2 = 35, ··· とする)や、同種の数について。n が素数のとき (x + 0)(x + 1)···(x + n − 1) の W1 ~ Wn−2 として n の倍数が並ぶ(Lagrange の定理)。
n = 0, 1, 2, ··· のそれぞれに対する W たちを逆順で三角形状 ◣ に並べた場合、「ある数 A の n 倍 + A の左の数」が「A の真下の数」に(例: 10 × 5 + 35 = 85)。よって p の倍数が並んでいる下には「p の倍数Ⅱ世」が出現。「Ⅱ世」が並べば、下に「Ⅲ世」。こうして「同じ p の倍数たち」が逆三角形状 ◥ に配列される。

Glaisher は「二項係数の下克上」(Lucas の定理)を利用して、このような現象を検討した。
![]()
§7 『ゴルゴ13』にも登場したウィルソンの定理。その内容は、
1⋅2⋅3⋅4 = 24 は 5 の倍数より 1 小さい
1⋅2⋅3⋅4⋅5⋅6 = 720 は 7 の倍数より 1 小さい
︙
等々。一般に「p が素数なら、 1 から p − 1 までの積は p の倍数より 1 小さい」という命題だ。
現代の観点からは、その証明は易しい。しかし、フランスのラグランジュが最初にそれを証明したとき――1770年代、マリー・アントワネットが10代の少女だった時代――の古風な論法は、ちょっとややこしい。その内容をあらためて整理し直してみると、次の通り。
n を 3 以上の整数とする。 ƒ1(x) = (x + 1)(x + 2)··· (x + n − 1)
を展開した n − 1 次式 を
ƒ2(x) = W0⋅xn−1
+ W1⋅xn−2
+ W2⋅xn−3
+ ···
+ Wn−3⋅x2
+ Wn−2⋅x1
+ Wn−1⋅x0
とする。もちろん W0 = 1, x0 = 1, x1 = x であるが、表記の統一のため、あえて「1 乗」なども明記した。 ƒ2 は ƒ1 を展開しただけで、両者は同一の多項式である!
ƒ1(x) の積を展開し、同類項をまとめて ƒ2(x) の形にしたときの W1 や W2 などの係数――それらが具体的にどんな数になるかは n の値次第。ラグランジュの論法では、その値を知る必要はない。任意の素数 n について定理を証明したいのだから、 n などの値が具体的に固定されていたら、むしろうまくない。
とはいえ n を特定した方が分かりやすい部分もある。参考として n = 5 の場合を付録Aに記載した。
ƒ1 の定義から:
ƒ1(x + 1) = ((x + 1) + 1)((x + 1) + 2)···((x + 1) + n − 1) = (x + 2)(x + 3)··· (x + n) サ
サの両辺を x + 1 倍すると、 n 個の因子がきれいに並ぶ:
(x + 1)⋅ƒ1(x + 1) = (x + 1)⋅(x + 2)(x + 3)··· (x + n)
= (x + 1)(x + 2)··· (x + n − 1)⋅(x + n) = ƒ1(x)⋅(x + n)
ƒ1 と ƒ2 は同じ多項式なので、
(x + 1)⋅ƒ2(x + 1) = ƒ1(x)⋅(x + n) = ƒ2(x)⋅(x + n) (✽)
でもある。
ƒ2 の定義から:
ƒ2(x + 1) = W0⋅(x + 1)n−1
+ W1⋅(x + 1)n−2
+ ···
+ Wn−2⋅(x + 1)1
+ Wn−1⋅(x + 1)0 シ
シの両辺を (x + 1) 倍すると、右辺の (x + 1)● たちの ● がそれぞれ 1 ずつ増えて、
(x + 1)⋅ƒ2(x + 1)
= W0⋅(x + 1)n
+ W1⋅(x + 1)n−1
+ ···
+ Wn−2⋅(x + 1)2
+ Wn−1⋅(x + 1)1 ㊧
となる。これが等式(✽)の左端に当たる!
再び ƒ2 の定義から:
ƒ2(x)⋅(x + n)
= {W0⋅xn−1
+ W1⋅xn−2
+ W2⋅xn−3
+ W3⋅xn−4
+ ···
+ Wn−1⋅x0}⋅(x + n) ㊨
これが等式(✽)の右端に当たる!
㊧と㊨は等式(✽)の左右だから、同一の内容(多項式)を表しているはず。よって、それぞれを展開したら、各係数が一致するはず。――これがラグランジュの議論のアイデアであった。
さて、㊨の展開は易しい。{ } 内の x 倍
W0⋅xn
+ W1⋅xn−1
+ W2⋅xn−2
+ W3⋅xn−3
+ ···
+ Wn−1⋅x1
と、 { } 内の n 倍
nW0⋅xn−1
+ nW1⋅xn−2
+ ···
+ nWn−2⋅x1
+ nWn−1⋅x0
の和だから、結果は、係数だけ書くと、
xn の係数は W0 だけ
xn−1 の係数は W1 + nW0 《ス》
xn−2 の係数は W2 + nW1 《セ》
xn−3 の係数は W3 + nW2 《ソ》
等々となるだろう。
㊧、すなわち
W0⋅(x + 1)n
+ W1⋅(x + 1)n−1
+ ···
+ Wn−2⋅(x + 1)2
+ Wn−1⋅(x + 1)1
の展開には、二項定理が必要。 (x + 1)n や (x + 1)n−1 などの「二項の和の累乗」をそれぞれ展開すると:
㊧ = W0⋅[(n C 0)xn + (n C 1)xn−1 + (n C 2)xn−2 + (n C 3)xn−3 + (n C 4)xn−4 + ··· + (n C n)x0]
+ W1⋅[(n − 1 C 0)xn−1 + (n − 1 C 1)xn−2 + (n − 1 C 2)xn−3 + (n − 1 C 3)xn−4 + ··· + (n − 1 C n − 1)x0]
+ W2⋅[(n − 2 C 0)xn−2 + (n − 2 C 1)xn−3 + (n − 2 C 2)xn−4 + ··· + (n − 2 C n − 2)x0]
+ W3⋅[(n − 3 C 0)xn−3 + (n − 3 C 1)xn−4 + ··· + (n − 3 C n − 3)x0]
︙
+ Wn−1⋅[(1 C 0)x0 + (1 C 1)x0]
このうち xn−2 の係数
W0⋅(n C 2) + W1⋅(n − 1 C 1) + W2⋅(n − 2 C 0) = (n C 2) + W1⋅(n − 1) + W2
は、㊨の xn−2 の係数――すなわち《セ》の W2 + nW1 ――に等しいはずだから、
(n C 2) + W1⋅(n − 1) = nW1 整理すると (n C 2) = W1 タ
が成り立つだろう†。 xn−3 の係数は、㊨の xn−3 の係数《ソ》と等しいはずだから、
(n C 3) + W1⋅(n − 1 C 2) + W2⋅(n − 2) + W3 = W3 + nW2
整理すると (n C 3) + W1⋅(n − 1 C 2) = 2W2 チ
が成り立つだろう。同様に進めれば、
(n C 4) + W1⋅(n − 1 C 3) + W2⋅(n − 2 C 2) = 3W3 ツ
(n C 5) + W1⋅(n − 1 C 4) + W2⋅(n − 2 C 3) + W3⋅(n − 3 C 2) = 4W4 テ
︙
となる。
n が素数の場合、これらの関係を基に Lagrange の定理が示され、容易に Wilson の定理と Fermat の小定理が派生する(ここでは、それらについては略)。
† 任意の整数 x について (x C 1) は x に等しく、 (x C 0) は 1 に等しい。「二項係数・超入門」参照。
![]()
§8 W1, 2W2, 3W3, 4W4, ··· を表す上記の等式タ・チ・ツ・テ…などを、一つの一般公式に要約すると:
Lagrange の再帰公式 1 以上 n 未満の整数 λ について、 λ⋅Wλ を Wj (0 ≤ j ≤ λ − 1) についての式として、次のように表現可能:
λ⋅Wλ = W0⋅(n C λ + 1) + W1⋅(n − 1 C λ) + W2⋅(n − 2 C λ − 1) + ··· + Wλ−1⋅(n − λ + 1 C 2)
〔注〕 右辺の各項は、順に W0, W1, W2, ··· を含み、対応する二項係数の上と下のインデックスは n と λ + 1 から始まって 1 ずつ減る(下側が 2 になると最終項)。結果的に、 Wr を含む項において、 W の番号 r と「二項係数の下側インデックス」の和は、定数 λ + 1。それに n を足して λ と 1 を引いたものが上側インデックス。
ここで Wj は、
ƒ1(x) = (x + 1)(x + 2)···(x + n − 1)
を展開した n − 1 次式の xn−j−1 の係数に等しい。あるいは、実質的に同じことだが、
ɡ(x) = (x + 0)(x + 1)(x + 2)···(x + n − 1)
を展開した n 次式の xn−j の係数に等しい(どちらの定義でも、最高次の係数 1 を W0 とし、降べき順に W2, W3 等とする。 1 倍 を表す係数 W0 は、通常、書いても書かなくても同じことであり、任意に省略可能)。
〔例〕 n = 5 の場合:
(x + 0)(x + 1)(x + 2)(x + 3)(x + 4) = 1x5 + 10x4 + 35x3 + 50x2 + 24x1 + 0x0
W0 = 1, W1 = 10, W2 = 35, W3 = 50, W4 = 24, W5 = 0
再帰的公式の数値例:
1⋅W1 = W0⋅(5 C 2) = 1⋅10 ⇒ W1 = 10
2⋅W2 = W0⋅(5 C 3) + W1⋅(4 C 2) = 1⋅10 + 10⋅6 = 70 ⇒ W2 = 35
3⋅W3 = W0⋅(5 C 4) + W1⋅(4 C 3) + W2⋅(3 C 2) = 1⋅5 + 10⋅4 + 35⋅3 = 150 ⇒ W3 = 50
この式を使って λ⋅Wλ を表現するには、 Wr⋅(a C b) の形の項を λ 個を足し合わせる―― r = 0, a = n, b = λ + 1 から始めて、 r を 1 ずつ増やしながら、そして a, b をそれぞれ 1 ずつ減らしながら、 b = 2 になるまで。 a と b の差は一定、最後の項の W の番号は λ − 1。
Wr は簡潔だがやや曖昧な記法で、その具体的な値は、その文脈での n の値によって異なる。ただし因子 W0 は、 n ≥ 1 である限り、常に 1 に等しいので、表記を省略しても構わない。
![]()
§9 p を任意の奇素数、 n を p より大きい整数とする。 n を p で割った商と余りをそれぞれ a と u としよう:
n = ap + u ただし 0 ≤ u < p
議論の便宜上、これ以降しばらくの間 n が p で割り切れるケースを別にして、 u ≠ 0 と仮定する。
このとき、上記の再帰公式で λ = u と置くと、次のような u 項の和となる。
u⋅Wu = W0⋅(n C u + 1) + W1⋅(n − 1 C u) + W2⋅(n − 2 C u − 1) + ··· + Wu−1⋅(n − u + 1 C 2)
= (ap + u C u + 1) + W1⋅(ap + u − 1 C u) + W2⋅(ap + u − 2 C u − 1) + ··· + Wu−1⋅(ap + 1 C 2)
この右辺の二項係数が表す各整数は、ある種の例外ケースを別にすると、「余りの下克上」によりどれも p で割り切れる。実際、上下のインデックスをそれぞれ p で割ったとき:
(ap + u C u + 1) の「下の余り」 u + 1 は「上の余り」 u を超える(例外あり)
(ap + u − 1 C u) の「下の余り」 u は「上の余り」 u − 1 を超える
(ap + u − 2 C u − 1) の「下の余り」 u − 1 は「上の余り」 u − 2 を超える
︙
(ap + 2 C 3) の「下の余り」 3 は「上の余り」 2 を超える
(ap + 1 C 2) の「下の余り」 2 は「上の余り」 1 を超える
例外は u = p − 1 のケース。その場合、最初の下側インデックスにおいて u + 1 = p を p で割った余りは 0 なので、下克上が不成立。
この他にも、もしも例えば下側インデックス u − 1 (ないし u − 2 等々)のケースで、それぞれ u = 1 (ないし u = 2 等々)であれば、下克上は成立しないはず。しかしこの再帰公式には項が u 個しかない。 u = 1 (あるいは u = 2 等々)の場合、下側インデックス u + 1 (ないし u 等々)の項までで足し算は終了し、下側インデックス u − 1 (ないし u − 2 等々)を含む項は生じない。例外として u = p − 1 の場合にだけ、「下克上が不成立」という現象が起きる(右辺の最初の項において)。
u = p − 1 のケースを除外して 1 ≤ u ≤ p − 2 と仮定するなら、再帰公式の右辺各項は、二項係数の「下克上」による p の倍数を因子とし、従って、それら各項の和に等しい左辺 u⋅Wu も p の倍数。従って Wu が p の倍数でなければならない(今考えている条件下では u は p の倍数ではないから)。すなわち:
補題3 p を奇素数、 n を p より大きい整数(p の倍数以外)、 n を p で割った余りを u (≠ 0) とする。 u = p − 1 の場合を除けば、 Wu つまり Su(n − 1) は必ず p で割り切れる。
〔例1〕 p = 3 の場合。 n = 4 や n = 7 を p で割ると 1 余る。 W1 = S1(4 − 1) = 6 は p で割り切れる。 S1(7 − 1) = 21 も。
n = 5 や n = 8 を p で割ると 2 余る。 2 = p − 1 なので、これは例外ケースに当たる。実際 W2 = S2(5 − 1) = 35 は p で割り切れない。 S2(8 − 1) = 322 も。
〔例2〕 p = 5 の場合。 n = 6 を p で割ると 1 余る。 W1 = S1(6 − 1) = 15 は p で割り切れる。
n = 7 を p で割ると 2 余る。 W2 = S2(7 − 1) = 175 は p で割り切れる。
n = 8 を p で割ると 3 余る。 W3 = S3(8 − 1) = 1960 は p で割り切れる。
n = 9 を p で割ると 4 余る。 4 = p − 1 なので、これは例外ケース。実際 W4 = S4(9 − 1) = 22449 は p で割り切れない。
補題3の内容は p が Wu を割る十分条件だが、必要条件ではない。実際、下克上が起きなくても二項係数が p で割り切れる場合がある(§5)。例えば p = 3, n = 10 のとき u = 2 = p − 1 なので、補題3の条件は満たされない。にもかかわらず n = 10 に対する W2 つまり S2(10 − 1) = 870 は 3 で割り切れる。この例では (10 C 2 + 1) において、 p = 3 は下克上を起こさない。けれど 10⋅9⋅8/3! = 120 の素因子 3 の個数は分子側が二つ、分母側が一つだから、約分後も素因子 3 が残り、この二項係数は 3 で割り切れる。
![]()
§10 引き続き n (= ap + u) を p で割った余りを u とし、 u ≠ 0 つまり u ≥ 1 と仮定する。再帰公式で λ = u と置く代わりに λ = u + 1 としてみる。すなわち p が Wu を割るかを問題にするのではなく、今度は p が Wu+1 を割るかを問題にする。
(u + 1)⋅Wu+1 = W0⋅(n C u + 2) + W1⋅(n − 1 C u + 1) + W2⋅(n − 2 C u) + ··· + Wu+1⋅(n − u C 2)
= (ap + u C u + 2) + W1⋅(ap + u − 1 C u + 1) + W2⋅(ap + u − 2 C u) + ··· + Wu+1⋅(ap C 2)
u + 2 が p または p + 1 に等しい場合と u + 1 が p に等しい場合を例外として(これら例外ケースの条件を一つにまとめて u + 2 ≥ p と述べることができる)、どの二項係数でも下克上が置きる。ゆえに u + 2 < p ならば p は Wu+1 を割る。
(p = 3 なら u = 1 または 2 なので、条件 u + 2 < p は決して満たされない。よってこれ以降 p ≥ 5 と仮定して差し支えない。)
λ = u + 2 の場合を考える(p が Wu+2 を割るか否か):
(u + 2)⋅Wu+2 = (ap + u C u + 3)
+ W1⋅(ap + u − 1 C u + 2)
+ W2⋅(ap + u − 2 C u + 1)
+ W3⋅(ap + u − 3 C u)
+ W4⋅(ap + u − 4 C u − 1)
+ ···
+ Wu⋅(ap C 3)
+ Wu+1⋅(ap − 1 C 2)
u + 3 ≥ p なら、右辺の最初の3項の中に、下克上が起きないものがある。 u + 3 < p と仮定するなら、それらの項も含めて、右辺の二項係数は、最後の一つを除き p で割り切れる。最後の二項係数では、下克上が起きない(下の余り 2 は上の余り p − 1 を超えない)。しかし仮定は u + 2 < p を含意するので、既に証明したように Wu+1 は p で割り切れ、よって最後の項も p で割り切れ、結局、右辺の全部の項は p で割り切れる。従って左辺は p の倍数だが、仮定により u + 2 は p 未満の正整数だから p の倍数ではない。ゆえに Wu+2 は p の倍数(仮定 u + 3 < p の下で)。
このように λ が u + 2 以上のとき、 u + 3 < p のような制限によって、最初のうちどの二項係数でも下克上が起きることを保証しても、最後の幾つかの二項係数は(下克上が起きずに)一般には p で割り切れない。にもかかわらず、そのような係数を含む項については、もう一つの因子 W が p で割り切れるので、結局、その項も p で割り切れることが示される。
一般的に λ = u + δ のケースを検討しよう(δ は整数)。
δ = 1 の場合について、もし u + 2 < p なら p が Wu, Wu+1 を割ることを既に証明した。 δ = 2 の場合について、もし u + 3 < p なら p が Wu, Wu+1, Wu+2 を割ることも、既に証明した。今、任意の δ ≥ 2 について、
u + δ < p なら p は Wu, Wu+1, ···, Wu+δ−1 を割る
という帰納法の仮定の下で、
u + δ + 1 < p なら p は Wu+δ を割る
ことを示そう。
λ = u + δ の場合、 Lagrange の公式から:
(u + δ)⋅Wu+δ = (ap + u C u + δ + 1)
+ W1⋅(ap + u − 1 C u + δ)
+ ···
+ Wu⋅(ap C δ + 1)
+ Wu+1⋅(ap − 1 C δ)
+ ···
+ Wu+δ−2⋅(ap − δ + 2 C 3)
+ Wu+δ−1⋅(ap − δ + 1 C 2)
u + δ + 1 < p ならば、右辺の Wu を含む項までは p の倍数(下克上成立。下側の余りは上側に比べて δ + 1 だけ大きい)。 Wu+1 を含む項以降では下克上が起きないが、帰納法の仮定から、
Wu, Wu+1, ···, Wu+δ−1
は p の倍数(なぜなら u + δ + 1 < p は u + δ < p を含意する)。よって、右辺各項は p の倍数であり、それらの和に等しい左辺も p の倍数。しかし u + δ + 1 < p なので u + δ は p 未満の正整数であり(u ≥ 1, δ ≥ 2, p ≥ 5)、 p の倍数ではない。ゆえに Wu+δ は p の倍数。すなわち u + δ + 1 < p ならば p は Wu+δ を割る。∎
〔コメント〕 証明と直接関係ないが、右辺の項のうち Wu⋅(ap C δ + 1) について、帰納法の仮定から Wu は p の倍数、かつ下克上により二項係数も p の倍数(明らかに上側の余りは 0、下側の余りは 0 より大)。よって、この項は結果的に p2 の倍数。具体的な数値例として、 p = 7, n = 10 に関する W6 のケースを参照。
さて、条件 u + δ + 1 < p は、 u + δ < p − 1 つまり u + δ ≤ p − 2 と同値。同様に u + 2 < p は u + 1 < p − 1 つまり u + 1 ≤ p − 2 と同値であり、 u + 3 < p は u + 2 ≤ p − 2 と同値。
補題3によると、もし u ≤ p − 2 なら p は Wu を割る。この不等式は、一般の不等式 u + δ ≤ p − 2 で δ = 0 の場合に当たる。さらに(上記の同値性に留意すると)、もし u + 1 ≤ p − 2 なら p は Wu+1 を割ること、および、もし u + 2 ≤ p − 2 なら p は Wu+2 を割ることを、われわれは直接的に証明した(それぞれ δ = 1, 2 に当たる)。一般的に、もし
u + δ ≤ p − 2 (✽)
なら p は Wu+δ を割ることも、帰納的に証明した(δ ≥ 2 に対して)。――これらの事実を一つにまとめると、任意の整数 δ ≥ 0 について、不等式(✽)は、 p が Wu+δ を割るための十分条件になっている。すなわち Wu+δ の添え字 u + δ が 0 以上 p − 2 以下なら、素数 p はその W を割り切る。
次のように整理できるだろう。
補題4(cf. Glaisher [7], §43) n を任意の正整数、 p を n より小さい任意の奇素数とする(ただし n は p の倍数ではないとする)。 n と p を定めれば、 n を p で割ったときの余り u が定まる。このとき
、
Wu, Wu+1, Wu+2, ··· , Wp−2
のどの数も、 p で割り切れる。換言すると、もし番号 r が u ≤ r ≤ p − 2 の範囲にあれば、 Wr は p の倍数(注: u = p − 1 の場合、その不等式を満たす番号 r は存在しない)。
〔例3〕 n = 6, p = 5 の場合、 u = 1。そして Wu から Wp−2 までの数、すなわち W1 = 15, W2 = 85, W3 = 225 は、どれも p の倍数。
〔例4〕 n = 7, p = 5, u = 2 に関連して Wu から Wp−2 までの数、すなわち W2 = 175 と W3 = 735 は、 p の倍数。
〔例5〕 n = 8, p = 5, u = 3 に関連して Wu から Wp−2 までの数、すなわち一つの数 W3 = Wp−2 = 1960 が、 p の倍数。
〔例6〕 n = 9, p = 5, u = 4 の場合、 u = p − 1 であり、補題4の条件に当てはまる Wr は存在しない。
スターリング数の言葉では―― n を p で割った余りが u のとき、 p が [n S y] を割る十分条件は u ≤ n − y ≤ p − 2 つまり n − p + 2 ≤ y ≤ n − u。例4の場合、 4 ≤ y ≤ 5 なら、条件が満たされる。実際 [7 S 4] = 735 と [7 S 5] = 175 は 5 の倍数。それとは別に [n S 1] = (n − 1)! は、 p ≤ n − 1 なら当然 p で割り切れる。

Glaisher の証明では、 Lagrange の定理と、二項係数に関する Lucas の定理が使われている。結論の少なくとも一部は、第一種スターリングの三角形の性質からも、直ちに得られる。例えば 5 の段には、両端以外は 5 の倍数が並んでいる(Lagrange の定理)。 6 の段の各数は、真上の数の 5 倍と左上の数の和だから、 5 の段に 5 の倍数が並んでいる以上、 6 の段にも 5 の倍数が「遺伝」するのは、当然(一つの例外を除き、どのケースも「両親とも 5 の倍数なら、子は再び 5 の倍数」という原理による)。「そのスターリング数は 5 の倍数」という性質は、部分的には 6 の段から 7 の段にも継承され、そのまた一部は 8 の段に再継承される。一般に、同様の仕組みによって、 Lagrange の定理による p の倍数列の下には、逆三角形状に p の倍数が並ぶ。
今 n = 15, p = 11 としよう。補題4によれば p は W4, W5, ···, W9 を割り切る。補題4の範囲外の Wr のうち W3 や W10 や W11 は p で割り切れない。他方において、実は W2 と W12 と W14 も p で割り切れる。すなわち、補題4の範囲指定は(p が Wr を割り切るための)十分条件だが、必要条件ではない。
![]()
付録A Lagrange の (x + 1)(x + 2)···(x + n − 1) の処理の具体例。 n = 5, n − 1 = 4 のケースの概要。
ƒ1(x) = (x + 1)(x + 2)(x + 3)(x + 4) = (x + 1)(x + 4)⋅(x + 2)(x + 3) = (x2 + 5x + 4)(x2 + 5x + 6)
= [(x2 + 5x) + 4][(x2 + 5x) + 6] = (x2 + 5x)2 + 10(x2 + 5x) + 24
= (x4 + 2⋅x2⋅5x + 25x2) + 10x2 + 50x + 24 = (x4 + 10x3 + 25x2) + 10x2 + 50x + 24
= x4 + 10x3 + 35x2 + 50x + 24
従って、4次式 (x + 1)(x + 2)(x + 3)(x + 4) を展開して、
ƒ2(x) = W0⋅x4 + W1⋅x3 + W2⋅x2 + W3⋅x1 + W4⋅x0
の形式にする場合、具体的な数値は:
W0 = 1, W1 = 10, W2 = 35, W3 = 50, W4 = 24
個々の数値と無関係に、一般論的に W たちの再帰的関係を導く手順は、次の通り。
ƒ1 と ƒ2 は同一の多項式の別表現に過ぎないから、
ƒ1(x + 1) = (x + 2)(x + 3)(x + 4)(x + 5) と
ƒ2(x + 1) = W0⋅(x + 1)4 + W1⋅(x + 1)3 + W2⋅(x + 1)2 + W3⋅(x + 1)1 + W4⋅(x + 1)0
は等しい。よって、
《ア》 (x + 1) ƒ1(x + 1) = (x + 1)(x + 2)(x + 3)(x + 4)(x + 5) と
《イ》 (x + 1) ƒ2(x + 1) = W0⋅(x + 1)5 + W1⋅(x + 1)4 + W2⋅(x + 1)3 + W3⋅(x + 1)2 + W4⋅(x + 1)1
も等しい。そして、この《ア》は次に等しい。
(x + 1)(x + 2)(x + 3)(x + 4)⋅(x + 5) = ƒ1⋅(x + 5) = ƒ2⋅(x + 5)
= [W0⋅x4 + W1⋅x3 + W2⋅x2 + W3⋅x1 + W4⋅x0]⋅(x + 5) Ⓐ
《イ》を二項展開すると:
W0 [(5 C 0)⋅x5 + (5 C 1)⋅x4 + (5 C 2)⋅x3 + (5 C 3)⋅x2 + (5 C 4)⋅x1 + (5 C 5)⋅x0]
+ W1 [(4 C 0)⋅x4 + (4 C 1)⋅x3 + (4 C 2)⋅x2 + (4 C 3)⋅x1 + (4 C 4)⋅x0]
+ W2 [(3 C 0)⋅x3 + (3 C 1)⋅x2 + (3 C 2)⋅x1 + (3 C 3)⋅x0]
+ W3 [(2 C 0)⋅x2 + (2 C 1)⋅x1 + (2 C 2)⋅x0]
+ W4 [(1 C 0)⋅x1 + (1 C 1)⋅x0] Ⓑ
Ⓐ と Ⓑ は等しいので、対応する各係数は一致。係数比較の便宜上、 Ⓑ の3次の項だけ集めると:
W0⋅(5 C 2)⋅x3
+ W1⋅(4 C 1)⋅x3
+ W2⋅(3 C 0)⋅x3
同様に2次の項 W0⋅(5 C 3)⋅x2 + W1⋅(4 C 2)⋅x2
+ W2⋅(3 C 1)⋅x2
+ W3⋅(2 C 0)⋅x2
1次の項 W0⋅(5 C 4)⋅x1 + W1⋅(4 C 3)⋅x1
+ W2⋅(3 C 2)⋅x1
+ W3⋅(2 C 1)⋅x1
+ W4⋅(2 C 0)⋅x1
0次の項 W0⋅(5 C 5)⋅x0 + W1⋅(4 C 4)⋅x0
+ W2⋅(3 C 3)⋅x0
+ W3⋅(2 C 2)⋅x0
+ W4⋅(1 C 1)⋅x0
一方、 Ⓐ を再掲すると [W0⋅x4 + W1⋅x3 + W2⋅x2 + W3⋅x1 + W4⋅x0]⋅(x + 5):
3次の項 W2⋅x3 + 5W1⋅x3 そして 2次の項 W3⋅x2 + 5W2⋅x2
1次の項 W4⋅x1 + 5W3⋅x1 そして 0次の項 5W4⋅x0
Ⓐ と Ⓑ の3次の項の係数の比較から:
W2 + 5W1 = (5 C 2)
+ W1⋅4
+ W2⋅1 ← 両辺の W2 はキャンセルされる
∴ W1 = (5 C 2) ❶
2次の項の係数の比較から:
W3 + 5W2 = (5 C 3)
+ W1⋅6
+ W2⋅3
+ W3⋅1 ← 両辺の W3 はキャンセル
∴ 2W2 = (5 C 3) + W1⋅(4 C 2) ❷
1次の項の係数の比較から:
W4 + 5W3 = (5 C 4) + W1⋅(4 C 3)
+ W2⋅(3 C 2)
+ W3⋅2
+ W4⋅1
∴ 3W3 = (5 C 4) + W1⋅(4 C 3)
+ W2⋅(3 C 2) ❸
0次の項の係数の比較から:
W0⋅1
+ W1⋅1
+ W2⋅1
+ W3⋅1
+ W4⋅1 = 5W4
∴ 4W4 = (5 C 5)
+ W1⋅(4 C 4)
+ W2⋅(3 C 3)
+ W3⋅(2 C 2) ❹
具体的な数値計算とは別に、❶❷❸❹共通の次の構造を観察できる(λ = 1, 2, 3, 4):
λ⋅Wλ = (5 C λ + 1)
+ W1⋅(4 C λ)
+ W2⋅(3 C λ − 1)
+ W3⋅(2 C λ − 2)
これが Lagrange の再帰公式の例(n = 5 の場合)。 λ は 1 以上 n 未満の整数。例えば λ = 3 の場合、公式は ❸ の意味になる。
右辺で足し算される項は必ずしも四つではなく、ケースバイケース。項ごとに二項係数のインデックスがだんだん小さくなり、下側インデックスが 2 になる項まで足したら、そこで終了。右辺の最初の二項係数の上側インデックスは n = 5。複数の項がある場合、二項係数の上下のインデックスは項ごとに 1 ずつ減少し、 Wj の j は 0, 1, 2, ··· と増加する(ここでは、右辺の先頭にあるはずの因子 W0 = 1 の表記を省略した)。
![]()
2026-07-01 ウィルソンの定理の拡張 猫は気まぐれ
4 は 5 の倍数より 1 小さい。
1 × 2 × 3 × 4 = 24 も 5 の倍数より 1 小さいよ――これがウィルソンの定理の例。
6 は 7 の倍数より 1 小さい。
1 × 2 × 3 × 4 × 5 × 6 = 24 × 5 × 6 = 120 × 6 = 720 も 7 の倍数より 1 小さいよ――これ。 Lagrange が un très-beau Théorème d’Arithmétique と呼んだ、きれいな性質。一般に p が素数なら、
1 × 2 × 3 × ··· × (p − 1)
は p の倍数より 1 小さい。
この定理の一般化(拡張)。スターリング数の記号を使うと、例えば [5 S 1] = 24 だけでなく [6 S 2] = 274 や [7 S 3] = 1624 なども 5 の倍数より 1 小さい。 [5 S 1] とは何か。一つの解釈は「1 以上 5 未満の数を 5 − 1 個ずつ掛けた合計」。要するに 1⋅2⋅3⋅4 = 24。それが 5 の倍数より 1 小さいってのは、元祖 Wilson の定理に当たる。では [6 S 2] とは?
「1 以上 6 未満の数を 6 − 2 個ずつ(全パターンで)掛けた合計」。つまり、
1⋅2⋅3⋅4 = 24 と
1⋅2⋅3⋅5 = 30 と
1⋅2⋅4⋅5 = 40 と
1⋅3⋅4⋅5 = 60 と
2⋅3⋅4⋅5 = 120
の、計五つの積の合計が 274 だよ、と。
これは一見、意図の分からない足し算かもしれない。それが何の役に立つの? うーん、「役に立つ・立たない」ってのとは、ちょっと次元が違うかも――「どうせ死ぬのに、何のために生きてるの?」と悩むのは、「どうせ帰国・帰宅するんだから、旅行・散歩には何の意義もない」と言い張るようなもんだろう。その内容が面白ければ、そのロジックが美しければ、それは探索・散策の十分な理由。「きれい」といった単純なコンセプトが「何の役に立つの・メリットはあるの・お金がもうかるの」等々の価値観とは別の尺度だということについては、画然と区別しなければなるまい。繊細で奥深く、優美だけれど難しく、垣間見えるけど到達できない永遠的なもの。ただ見とれ、不思議がり、分からず、迷い、ときに小さな発見に喜び、結局何もなかったかのように去っていく。ぶっちゃけ、好奇心旺盛な猫――「面白そうだと感じたら調べてみるにゃ。面白さに、他人の同意は要らないにゃ」。
1⋅2⋅3⋅4 = 24 や 1⋅2⋅3⋅5 = 30 は表面上「簡単な算数」だけど、この話はそれなりに難しい!
![]()
§11 n が奇素数 p のとき W1, W2, ···, Wp−2 は p の倍数、 Wp−1 は p の倍数より 1 小さい(Lagrange の定理)。 Lagrange の再帰公式の観点(§10)からは、このことは次のように説明される。一般に、
1⋅W1 = W0⋅(p C 2)
2⋅W2 = W0⋅(p C 3) + W1⋅(p − 1 C 2)
3⋅W3 = W0⋅(p C 4) + W1⋅(p − 1 C 3) + W2⋅(p − 2 C 2)
等々が成り立つ。第1式から、 W1 は p の倍数。実際、右辺の二項係数 p(p − 1)/2 の分子の素因子 p は、約されない(p が素数、という仮定がここで利いている)。同様に(もし p ≠ 3 なら)第2式右辺・第1項は p の倍数。従って―― W1 が p の倍数であることに留意すると――、 2⋅W2 も(よって W2 も) p の倍数。
W3 についても同様。 W1 が p の倍数であることから W2 も p の倍数になり、 W1, W2 が p の倍数であることから W3 も p の倍数になり、 W1, W2, W3 が p の倍数であることから W4 も···とドミノ倒しのように、次々と「p の倍数」という性質が伝わっていく。 1 以上 k 未満の各 j について Wj が p の倍数ならば、 Wk も p の倍数(ただし k ≤ p − 2)。
この一連の再帰的関係は、やがて次の等式に至る。終端にある「最後のドミノ」(k = p − 1)は倒れない:
(p − 1)⋅Wp−1 = W0⋅(p C p) + W1⋅(p − 1 C p − 1) + W2⋅(p − 2 C p − 2) + ··· + Wp−2⋅(2 C 2)
= 1 + W1 + W2 + ··· + Wp−2 ナ
ここで W1, W2, ···, Wp−2 はそれぞれ p の倍数、つまり法 p の下で ≡ 0 なので、等式ナは
(−1)⋅Wp−1 ≡ 1 つまり Wp−1 ≡ −1 (mod p)
を含意する(Wilson の定理)。 Wp−1 は p の倍数ではなく、それより 1 小さい。
さて n = p という素数を、その正の倍数 n = ap に置き換えても(a ≥ 1 は任意の整数)、ほとんど同様のことが成り立つ。 W1 = (ap C 2) は p の倍数、よって 2⋅W2 は (ap − 1 C 2) と W1 の倍数の和に等しく、従って W2 も p の倍数。等々。一方、上記ナに相当する式から、やはり Wp−1 は、一般には p の倍数ではない。実際、
(p − 1)⋅Wp−1 = W0⋅(ap C p) + W1⋅(ap − 1 C p − 1) + W2⋅(ap − 2 C p − 2) + ··· + Wp−2⋅(ap − (p − 2) C 2) ニ
の右辺において、第2項以降はどれも p の倍数の因子 Wj を含むが、第1項の値 1⋅(ap C p) は、一般には p の倍数ではない。例えば a = 2, p = 3 なら (6 C 3) = 20 は 3 の倍数ではない。
ところで W0 = 1 も、もちろん p の倍数ではない。
n が p の倍数でない場合(補題4)と、以上の観察(n が p の倍数の場合)を一つにまとめると:
定理2(Glaisher [7], §43) n を 3 以上の整数、 p を 3 以上 n 以下の素数として、 n を p で割ったときの余りを u とする(0 ≤ u ≤ p − 1)。もし u ≠ p − 1 なら、
Wu, Wu+1, Wu+2, ··· , Wp−2
の各数は p で割り切れる(ただし u = 0 の場合の Wu = W0 = 1 を除く)。言い換えると、もし番号 r が u ≤ r ≤ p − 2 の範囲の正の整数なら、 Wr は p の倍数。
この定理の逆は成り立たない。 r が u 未満または p − 1 のとき、一般には p は Wr を割らないが、割る場合もある。次節では p が Wp−1 を割るための必要十分条件を付記する。
定理2は素数 p = 2 に対しても真だが(実際、定理の証明は p が素数であることにのみ依存し、 p が奇数であることに依存していない)、その場合、条件を満たす r は存在しない(ので p = 2 の場合、この定理は実質的に役立たない)。同様に素数 p が 3 以上の場合、定理2は u = p − 1 に対しても真だが、その場合、条件となる不等式を満たす r は存在しない。
![]()
§12 前節の等式ニは、
(p − 1)⋅Wp−1 ≡ (ap C p) (mod p) ヌ
∴ −Wp−1 ≡ ap(ap − 1)(ap − 2)···(ap − p + 1)/p! ≡ a(ap − 1)(ap − 2)···(ap − p + 1)/(p − 1)! (mod p)
を含意する。両辺(どちらも整数である)を −1 ≡ (p − 1)! 倍すると:
Wp−1 ≡ a[(ap − 1)(ap − 2)···(ap − (p − 1))] (mod p)
右辺の [ ] 内は (−1)(−2)···(−(p − 1)) に、従って (p − 1)! ≡ −1 に、合同。
∴ Wp−1 ≡ −a (mod p)
つまり p が素数なら、その正の倍数 n = ap に対応する Wp−1 は――言い換えると Sp−1(ap − 1) は――、法 p の下で −a に合同。
別証明 ap と p をそれぞれ p で割ると、商は p と 1、余りは 0 と 0。よって Lucas の定理から:
(ap C p) ≡ (a C 1) × (0 C 0) ≡ a (mod p)
従ってヌは −Wp−1 ≡ a つまり Wp−1 ≡ −a を含意。∎
より一般的に:
補題5 n を任意の正整数、 p を任意の素数、 n = ap + u, 0 ≤ u < p とすると:
(n C p) ≡ a (mod p)
この命題は a = 0 の場合にも有効。 0 ≤ n < p のとき (n C p) = 0 は自明だから(例えば 2 個の物から 7 個の物を選ぶ方法は 0 通り)、 a = 0 の場合、補題5は 0 ≡ 0 (mod p) という自明な主張に過ぎない。
証明 Lucas の定理から (ap + u C p) ≡ (a C 1) × (u C 0) ≡ a × 1 (mod p) を得る。∎
n = ap + u が p の倍数でない場合(1 ≤ u < p)、その n に対応する Wp−1 は次の関係を満たす(Lagrange)。
(p − 1)⋅Wp−1 = W0⋅(ap + u C p) + W1⋅(ap + u − 1 C p − 1) + W2⋅(ap + u − 2 C p − 2) + ··· + Wu⋅(ap + u − u C p − u)
+ Wu+1⋅(ap − 1 C p − u − 1)
+ Wu+2⋅(ap − 2 C p − u − 2) + ··· + Wp−2⋅(ap + u − (p − 2) C 2)
このうち W1 を含む項から Wu を含む項までの、それぞれの二項係数の上下を p で割ると、下側の余り p − 1, p − 2, ···, p − u は、対応する上側の余り u − 1, u − 2, ···, 0 を超えるから(下克上)、これら u 個の項はどれも p の倍数。さらに Wu, Wu+1, ···, Wp−2 は p の倍数なので(定理2)、 Wu を含む項以降の各項も、それぞれ p の倍数(結果的に Wu を含む項は p2 の倍数)。結局、法 p の下では右辺第2項以降はどの項も ≡ 0 であり、
(p − 1)⋅Wp−1 ≡ (ap + u C p) ≡ a (mod p)
∴ Wp−1 ≡ −a (mod p)
が成り立つ(補題5を使った)。
例えば n = 10, p = 7, u = 3 の場合:
6⋅W6 = W0⋅(10 C 7) + W1⋅(9 C 6) + W2⋅(8 C 5) + W3⋅(7 C 4)
+ W4⋅(6 C 3)
+ W5⋅(5 C 2)
ここで (9 C 6) = 84, (8 C 5) = 56, (7 C 4) = 35 は下克上により 7 の倍数、 W3 = 9450, W4 = 63273, W5 = 269325 は定理2により 7 の倍数(結果的に右辺第4項 9450 × 35 は 72 の倍数)。従って mod 7 においては、左辺 6⋅W6 ≡ −W6 は、右辺第1項の値 (10 C 7) ≡ 1 と合同。結局 W6 ≡ −1。
要約すると:
定理3(Wilson の定理の一般化: Glaisher [7], §44, cf. §51) p を任意の(正の)素数、 n を p 以上の整数とする。 n を p で割ったときの商を a、余りを u とすると(n = ap + u, a ≥ 1, 0 ≤ u < p)、 n に対応する Wp−1 の値、つまり
Sp−1(n − 1) = [n S n − p + 1]
の値は、 u の値と無関係に ≡ −a (mod p) を満たす[a = 1, u = 0, n = 1⋅p + 0 の場合が Wilson の定理]。特に、素数の 2 倍 n = 2p に対応する Wp−1 の値は、法 p の下で −2 と合同。すなわち:
Sp−1(2p − 1) = [2p S p + 1] ≡ −2 (mod p)
〔例〕 n = p = 5 のとき Wp−1 = S4(4) = 24 ≡ −1 (mod 5) であるだけでなく(Wilson の定理)、 S4(5) = 274 や S4(6) = 1624 も ≡ −1 (mod 5) を満たす。 S4(7) = 6769 や S4(8) = 22449 もそう。一方 n = 10 のとき W4 = S(4, 10 − 1) = 63273 は ≡ −2 (mod 5) を満たす。 S(4, 10) = 157773 や S(4, 11) = 357423 もそう。

第一種スターリングの三角形において、「5 の倍数」列島の各段の初め(左端)の数の直前や真下には「5 の倍数より 1 小さい数」が現れ(a = 1 なら)、右斜め下に向かってこの種の数が並ぶ。正確には n = 5a + u に対応する「5 の倍数」列島について、「右斜め下に並ぶ数たち」は 5 の倍数よりa 小さい(段によっては a = 1 とは限らない)。「7 の倍数」列島、「11 の倍数」列島、等々に関しても同様。
定理3をわずかに拡張して a = 0 の自明なケースを含めてもいいが(その場合 n ≥ p でなくとも、任意の n ≥ 1 に対して定理は有効)、差し当たりそのようなケースを使わないこと、技術的にも引数が負のスターリング記号の扱いは自明でないことから、 a ≥ 1 としておく。
付記 定理2によれば、 n = ap + u, 0 ≤ u < p に関連して、素数 p は一般には Wp−1 を割らない。すなわち、一般には Wp−1 ≡ 0 (mod p) が成り立たない。これは Wp−1 ≢ 0 という意味ではなく、 Wp−1 ≡ a という意味(定理3)。つまり、もし a が p の倍数なら、 Wp−1 ≡ 0 が成り立つ。この条件を「n を p2 で割った余りが p 未満」と言い換えることができる(下記)。逆に Wp−1 ≡ 0 が成り立つのは、 n を p2 で割った余りが p 未満のときに限られる。
証明 n = ap + u, a ≥ 1, 0 ≤ u < p について:
Wp−1 ≡ 0 (mod p) ⇔ a ≡ 0 (mod p) ⇔ 整数 ℓ ≥ 1 が存在して a = ℓp
右端の条件式 a = ℓp を n についての式に代入して:
n = (ℓp)p + u = ℓp2 + u
ゆえに Wp−1 が p の倍数なら n ≡ u (mod p2) であり、逆に n ≡ u (mod p2) なら Wp−1 は p の倍数。仮定により u は 0 以上 p 未満。∎
a = ℓp については、 a ≥ 1 と仮定する代わりに a ≥ 0 と仮定することも考えられる。定理3(および上記証明)の設定は前者で、自明なケース(a = ℓ = 0)が排除される。後者の設定では、自明なケースも包含される。
〔例〕 p = 5 について。 W4 が 5 の倍数となる非自明な最小の例は、 n = 25 のときの W4 = 238810495。 25 以上 30 未満の n に対して W4 は 5 の倍数。または 50 以上 55 未満の n に対して。または 75 以上 80 未満の n に対して。等々。ちなみに定理3の対象外だが、 n = 1, 2, 3, 4 に対して W4 = 0 は自明に 5 の倍数。その場合も、定理3の内容はそのまま成り立つ(a = 0 であり、それは ≡ −0 なので)。技術的には n = 0 の場合についても「自明ケース」に追加可能。
![]()
2026-07-04 上側インデックス 2p の第一種スターリング数
4人の子どもたち A, B, C, D が、二つのグループに分かれる方法は何通り? そのパターンの数が、第二種スターリング数 {4 S 2} だ。ただし「メンバーが一人だけのグループ」もありだが、「メンバー 0 人のグループ」は駄目とする。これは {A, B, C, D} を二つの部分集合(どちらも空集合ではない)に分ける方法の総数に当たり、三人と一人に分かれる方法が 4 パターン(「一人だけのグループ」を作る人に、四つの可能性がある)、二人と二人に分かれる方法が 3 パターン(A が B, C, D の誰と組むかを決めれば全て確定)。合計 7 通り。
………歴史的には、スターリング数は、そういった「順列・組み合わせ」的文脈で考えられたものではなく、ある種の式変形から生まれた。例えば、
(x + 0)(x + 1)(x + 2)(x + 3)(x + 4)(x + 5) = 1⋅x6 + 15⋅x5 + 85⋅x4 + 225⋅x3 + 274⋅x2 + 120⋅x1 + 0⋅x0
の展開は、手間さえ惜しまなければ単純計算だが、この6次式の係数 1, 15, 85, 225, 274, 120, 0 が n = 6 に対する第一種スターリング数に当たる。上述の「第二種」スターリング数とは多少意味が違うけど、第一種と第二種には密接な関係がある。
ラグランジュは、ウィルソンの定理の証明のため、これらの係数に W0 = 1, W1 = 15, W2 = 85, ···, W6 = 0 のような名前を付け、それらの相互関係を巧みに利用した(n が素数の場合について)。
ラグランジュは、実は W でなく文字 A を使って W1, W2, ··· の代わりに A′, A″, ··· のように表記した。ここで文字 W を選択したのは、 r 個ずつの積の「和」(Wa)という日本語のイニシャルにちなむ。 Wolstenholme へのリスペクトも含む。
Wr には、別の解釈もある。「根と係数の関係」によれば、例えば上記の W2 は、 1 以上 6 未満の数(1, 2, 3, 4, 5)を二つずつ掛けた場合の合計でもある:
1⋅2 + 1⋅3 + 1⋅4 + 1⋅5 = 2 + 3 + 4 + 5 = 14
2⋅3 + 2⋅4 + 2⋅5 = 6 + 8 + 10 = 24
3⋅4 + 3⋅5 + 4⋅5 = 12 + 15 + 20 = 47
総計 85
一般に「1 以上 n 未満の数」を「r 個ずつ」掛けたときの合計を Wr(n) で表し、 n が決まっているときは、簡潔化のため Wr と書く――こう考えても、上記の(多項式の係数に基づく)定義と、同じ結果に。「1 以上 n 未満」より「1 から N = n − 1 まで」の方が分かりやすいので、同じことを Sr(N) = Sr(n − 1) で表すこともある。現代では、ラグランジュの
W1(6) = 15, W2(6) = 85, W3(6) = 225, W4(6) = 274, W5(6) = 120
とは逆順に番号を付けて、
[6 S 1] = 120, [6 S 2] = 274, [6 S 3] = 225, [6 S 4] = 85, ···
のような記号によって、第一種スターリング数を表すことも多い。二項係数のいとこ、みたいな感覚で。
![]()
§13 n ≥ 0 を整数とする。 n 次式の係数を使った Wr の定義(r = 0, 1, ···, n)
(x + 0)(x + 1)··· (x + n − 1) = W0⋅xn + W1⋅xn−1 + ··· + Wn−1⋅x1 + Wn⋅x0 (✽)
から、《ア》首位の係数 W0(n) = [n S n] が 1 であることは明白。《イ》原則として、定数項 Wn(n) = [n S n] が 0 であることも明らかだが、ただし 0 次式(n = 0 の場合)に関しては、首位係数と定数項は同じものを指す。この場合、《ア》を優先させ、 W0(0) = [0 S 0] = 1 と約束する。
[0 S 0] = 1 は x0 = 1 や 0! = 1 や (0 C 0) = 1 と同様で(00 も = 1 である)、空積と呼ばれる。解析学では 00 が不定形とされるが、それは0次関数 ƒ(x) = x0 と、指数関数 ƒ(x) = 0x のどちらを考えているのか曖昧だから。われわれの文脈では0次関数なので x → 0 のとき x0 → 1。
n ≥ 1 のとき《ウ》 W1(n) = [n S n − 1] = 0 + 1 + 2 + ··· + (n − 1) = (n − 1)n/2 であること、《エ》 Wn−1(n) = [n S 1] = (n − 1)! であることも明白。《エ》については(✽)の両辺(それらは多項式として等しい)を x で割った
(x + 1)(x + 2)···(x + n − 1)
の定数項を考えれば見やすいが、(✽)のままで考えるなら、その n 個の根 x = 0, 1, ··· , n − 1 を n − 1 個ずつ掛けた積の和に当たる。これら n − 1 因子の積のうち、因子 0 を含むものは値が 0 だがから、因子 0 を含まない唯一の組み合わせ
1⋅2··· (n − 1) = (n − 1)!
だけが生き残る。
n が任意の正整数のとき W0 = 1 と Wn = 0 は自明、 W1 = (n − 1)! と Wn−1 = (n − 1)n/2 も明らか。従って n ≤ 3 のときの第一種スターリング数は簡単で、 n = 4 のときも、
[4 S 0] = 1, [4 S 1] = 3! = 6, [4 S 4] = 0, [4 S 3] = 4⋅3/2 = 6
の四つ明白(n ≥ 5 でも両端の四つの数については同様)。最初の非自明な数(よく考えないと分からない値)
[4 S 2] = 11
は、 1 以上 4 未満の数の二つずつの積の和
1⋅2 + 1⋅3 + 2⋅3 = 2 + 3 + 6
に等しく、
x(x + 1)(x + 2)(x + 3) = x4 + 6x3 + 11x2 + 6x + 0
の 2 次の係数にも等しい。
ちなみに、組み合わせ論的解釈(ここでは詳細略)としては、 [4 S 2] = 11 は「四つのものを並び替えるときの 4! = 24 種の選択肢のうち、二つのサイクルから成るものは 11 種」という意味を持つ。
![]()
§14 n を p で割って u 余るとき、
Wu(n), Wu+1(n), ···, Wp−2(n)
は p の倍数であり(定理2)、かつ Wp−1(n) は p の倍数より 1 小さい(定理3)。 u = 0 つまり n = p なら、
W1(p), W2(p), ···, Wp−2(p)
は、どれも p の倍数。
今 n = 2p として、 p 番以降の番号の
Wp(n), Wp+1(n), ···
がどのような性質を持つか考えてみたい。数値的に試してみると、
n = 2⋅3 のとき(p = 3) W3 = 225 = 32 × 45
n = 2⋅5 のとき(p = 5) W5 = 269325 = 52 × 10773
n = 2⋅7 のとき(p = 7) W7 = 790943153 = 72 × 16141697
等々となり、 Wp(2p) には面白そうなパターン(少なくとも p2 で割り切れるという性質)がありそう。だがこの「詰め将棋」は、これまでの同様のものと比べると、かなり難しい!
Lagrange の再帰公式によると、 n = 2p に対して:
p⋅Wp = W0⋅(2p C p + 1)
+ W1⋅(2p − 1 C p)
+ W2⋅(2p − 2 C p − 1)
+ ···
+ Wp−2⋅(p + 2 C 3)
+ Wp−1⋅(p + 1 C 2) (✽)
〔注〕 右辺各項の W の番号と、二項係数の下側インデックスの和は定数(この例では p + 1)。この定数から一方を引けば、他方が求まる。上下のインデックスの差も定数(この場合 p − 1。つまり、下側インデックスに p を足して 1 を引けば、上側インデックスが求まる)。
Wp が p2 の倍数であることを示したいのだが、第一印象よりはるかに難しく、今回はそこまで行けない。等式(✽)の左辺は p⋅Wp なので、左辺の和が p の倍数であることを示しても、 Wp が p の倍数である証明にならず、右辺が p2 の倍数であることを示して、ようやく Wp 自体が素因子 p を一つ以上含むことが示される。つまり Wp が p2 の倍数であることを直接的に示すには、右辺が p3 の倍数であることを示す必要がある!
直接 p3 は困難そうなので、とりあえず右辺が p2 の倍数であることを証明しよう。 W1, W2, ···, Wp−1 はそれぞれ p の倍数、かつ右辺第3項以降の二項係数は p の倍数なので(下克上)、右辺第1項・第2項・最終項の三つを除けば、どの項も p2 の倍数。除外された三つの項
A = W0⋅(2p C p + 1) = [2p(2p − 1)(2p − 2)···(p + 2)(p + 1)p]/[(p + 1)p(p − 1)!]
B = W1⋅(2p − 1 C p) = (2p − 1)(2p)/2 × [(2p − 1)(2p − 2)···(p + 1)p]/[p(p − 1)!]
C = Wp−1⋅(p + 1 C 2) = Wp−1 × (p + 1)p/2
は、どれも p の倍数だが p2 の倍数ではない。けれど A + B + C が p2 の倍数になってくれれば十分。
さて、法 p の下で「1, 2, ···, p − 1 のそれぞれと(何らかの順序で)合同な p − 1 個の整数」の積 Q は、もしそれが (p − 1)! の倍数なら Q/(p − 1)! ≡ 1 を満たす†。ゆえに、整数
A/p = 2 × [(2p − 1)(2p − 2)···(p + 2)]/[(p − 1)!] = 2 × [(2p − 1)(2p − 2)···(p + 2) × 1]/[(p − 1)!]
は、
A/p ≡ 2 (mod p)
を含意する。同様に:
B/p = (2p − 1) × (2p − 1)(2p − 2)···(p + 1)/(p − 1)! ≡ 2p − 1 ≡ −1 (mod p)
一方、定理3から Wp−1 = Sp−1(2p − 1) は ≡ −2 (mod p)。 Wp−1 = ℓp − 2 と書くと(ℓ は何らかの整数):
C/p = (ℓp − 2) × (p + 1)/2 = ℓp(p + 1)/2 + (−2)(p + 1)/2
≡ −(p + 1) ≡ −1 (mod p)
(p + 1 は偶数なので、上の式に含まれるどの分数も、値は整数。)
ゆえに A/p + B/p + C/p ≡ 2 + (−1) + (−1) ≡ 0 (mod p)、つまり (A + B + C)/p は p の倍数。よって、その p 倍の A + B + C は p2 の倍数。
結局(✽)の値つまり p⋅Wp は p2 の倍数であり、従って Wp は p の倍数。∎
† mod p で考えよう。仮定により Q ≡ (p − 1)! で、この Q は明らかに ≡ 0 ではない[実は Wilson の定理から Q ≡ (p − 1)! ≡ −1 である、ここでは必要ないけれど]。仮定により Q/(p − 1)! は整数――この整数の値を y と略そう。 y の (p − 1)! 倍は、もちろん Q:
y × (p − 1)! = Q
上の等式の両辺は(当たり前だが)同一の整数値を持つのだから、当然、合同でもある:
y × (p − 1)! ≡ Q
ところが Q ≡ (p − 1)! だから、この合同式は
y × Q ≡ Q
を含意する。従って y ≡ 1、略記を元に戻すと Q/(p − 1)! ≡ 1。∎
Wp が p の倍数という暫定的結論を鍵として、 Wp+1 以降について、再び「ドミノ倒し」が起こり得る。 p ≥ 5 のとき、
(p + 1)⋅Wp+1 = W0⋅(2p C p + 2)
+ W1⋅(2p − 1 C p + 1)
+ W2⋅(2p − 2 C p)
+ ···
+ Wp−2⋅(p + 2 C 4)
+ Wp−1⋅(p + 1 C 3)
+ Wp⋅(p C 2)
が p の倍数であることは、容易に示される。実際、右辺各項について(p + 2 から下側インデックスを引いたものが W の番号、上側インデックスは下側インデックスより p − 2 大きい)、 W0 を含む項と Wp−1 を含む項以外は、どれも W が p の倍数、除外された二つの項‡では、どちらも二項係数が p の倍数(下克上)、よって右辺の和は p の倍数、それに等しい左辺も p の倍数なので Wp+1 は p の倍数。――この事実が、帰納的証明の土台となる。
‡ 3 以上の素数 p のうち、 p = 3 だけは、 Wp−1 を含む項の二項係数で下剋上を起こさず、従って Wp+1(2p) は p の倍数ではない。
p を 5 以上の素数とする。今 0 ≤ δ < d の範囲の各 Wp+δ が p の倍数であることが示されたとして、それを根拠に Wp+d も p の倍数であると断言できるであろうか。
(p + d)⋅Wp+d = W0⋅(2p C p + d + 1)
+ W1⋅(2p − 1 C p + d)
+ W2⋅(2p − 2 C p + d − 1)
+ ···
+ Wp+d−3⋅(p − d + 3 C 4)
+ Wp+d−2⋅(p − d + 2 C 3)
+ Wp+d−1⋅(p − d + 1 C 2)
の右辺各項について(p + d + 1 から下側インデックスを引いたものが W の番号、上側インデックスは下側インデックスより p − d − 1 大きい)、 W0 を含む項
《ハ》 W0⋅(2p C p + d + 1)
と Wp−1 を含む項
《ヒ》 Wp−1⋅(p + 1 C d + 2)
以外は、定理2(u = 0)と帰納法の仮定により、 W が素因子 p を持つ。一方、《ハ》の W0 = 1 は明らかに p の倍数ではなく、《ヒ》の Wp−1 も p の倍数より 2 小さい(定理3)。従って、帰納法による証明を続けるためには、《ハ・ヒ》の二項係数がどちらも p の倍数であることが必要。《ハ》の二項係数は、もし 1 ≤ d + 1 < p なら p の倍数だが d + 1 = p ならそうではなく、《ヒ》の二項係数は、もし 1 ≤ d + 2 < p なら p の倍数だが d + 2 = p ならそうではない。すなわち、証明の継続には 0 ≤ d < p − 2 であることが必要であり、またそれで十分。結局、 d = p − 3 のときの (2p − 3)⋅W2p−3 が p の倍数であることまでは(従って
Wp, Wp+1, ··· , W2p−3 が p の倍数であることが)、《ハ・ヒ》の下克上により帰納的に示される。しかるに、その次の W2p−2 すなわち d = p − 2 のケースは、 p の倍数ではない。実際、そのとき《ハ》の因子 (2p C 2p − 1) は依然として明らかに p の倍数だが、《ヒ》の二項係数は Lucas の定理により、
(p + 1 C p) ≡ (1 C 1)⋅(1 C 0) ≡ 1 (mod p)
であり、ゆえに《ヒ》は――従って (2p − 2)⋅W2p−2 を表す右辺の和は――法 p の下で −2⋅1 に合同:
(2p − 2)⋅W2p−2 ≡ −2W2p−2 ≡ −2 (mod p)
∴ W2p−2 ≡ 1 (mod p)
であるから、 W2p−2 は p の倍数より 1 大きい(この結論は p = 3 に対しても真)。
ここまでの成果を一旦まとめると:
補題6(cf. Glaisher [7], §51) p が 3 以上の素数のとき、 2p に対する W0, W1, ···, W2p は――言い換えれば、上側インデックスが奇素数の 2 倍である第一種スターリング数 [2p S k] は――、原則としてどれも p の倍数。ただし、三つの例外があって、
Wp−1 = [2p S p + 1]
は p の倍数より 2 小さく、
W0 = [2p S 2p] = 1 と W2p−2 = [2p S 2]
は p の倍数より 1 大きい。
証明 W2p−1 = (2p − 1)! と W2p = 0 が p の倍数であること、および W0 = 1 が p の倍数より 1 大きいことは、自明。 1 ≤ r ≤ p − 2 のとき法 p の下で Wr ≡ 0 であることは定理2から、 Wp−1 ≡ −2 であることは定理3から。その他の主張については、上述の通り。∎
補題6は予備的命題に過ぎない(p で割れるか否かより p2 で割れるか否か、さらに言えば mod p3 や p4 の方が深い問題だし、スターリング数の上側インデックスを奇素数の 2 倍としているのも、ひどく限定的で一般性に乏しい)。けれど、帰納的証明の土台となる Wp についての議論が、意外と繊細で面白い(恐らく現代的には、もっとエレガントで大胆な証明法もあるのだろう)。
一見特殊的な命題なようだが、補題6がないと、いろいろな一般的定理が中途半端になりやすい――少なくとも Glaisher のアプローチによる場合には。 Glaisher は、この補題の発見前に [7] の本文を執筆し、直後にこの補題を発見して後から定理を拡張したため、 [7] にはやたらと「この命題は後で拡張される」という追記的な脚注が多い。見通しが良いとは言い難いのだが、夢中になって新発見を書き留めていくライブ感があり、発見のわくわく感を追体験できる。
![]()
§15 数値例 p = 5, n = 2p = 10 の場合。
5W5 = W0⋅(10 C 6) + W1⋅(9 C 5) + W2⋅(8 C 4) + W3⋅(7 C 3) + W4⋅(6 C 2)
右辺の最初の2項(A, B とする)と最後の項(C とする)以外は、どの項も 52 の倍数(因子 W と二項係数がそれぞれ 5 の倍数なので)。今、 A + B + C も 52 の倍数であることを示したい。
A/5 = (10⋅9⋅8⋅7⋅6⋅5)/(6⋅5⋅4⋅3⋅2⋅1) ÷ 5 = (10⋅9⋅8⋅7)/(4⋅3⋅2⋅1) ÷ 5 = 2⋅9⋅8⋅7/4!
= 2 × 9⋅8⋅7⋅1/4! ≡ 2 × 1 ≡ 2 (mod 5)
B/5 = 9⋅10/2 × (9⋅8⋅7⋅6⋅5)/(5⋅4⋅3⋅2⋅1) ÷ 5 = 9 × 9⋅8⋅7⋅6/4! ≡ −1 × 1 ≡ −1 (mod 5)
C/5 = (5ℓ − 2) × 6⋅5/2 ÷ 5 = (5ℓ)⋅3 + (−2)⋅3 ≡ −6 ≡ −1 (mod 5)
∴ (A + B + C)/5 ≡ 2 + (−1) + (−1) ≡ 0 (mod 5)
ゆえに A + B + C は 52 の倍数。
従って W5 は 5 の倍数だが、その具体的な値 269325 は、 5 の倍数であるばかりか 52 の倍数でもあり、しかも
269325 ≡ 75 ≡ 3⋅52 (mod 53)
であるから、「W5 は 5 の倍数」というのは間違いではないけど、より精妙な事実のほんの一部に過ぎない。
W5 が 5 の倍数であることから、再帰的証明によって W6, W7 も 5 の倍数であることが容易に示される。 W8 は、しかしながら、もはや 5 の倍数ではない。その原因は、
8W8 = W0⋅(10 C 9)
+ W1⋅(9 C 8)
+ W2⋅(8 C 7)
+ W3⋅(7 C 6)
+ W4⋅(6 C 5)
+ W5⋅(5 C 4)
+ W6⋅(4 C 3)
+ W7⋅(3 C 2) 《フ》
の右辺各項のうち、一つだけが 5 の倍数でないこと。 W0, W4 以外の W は 5 の倍数なので、問題になり得るのは右辺第1項と第5項の二つ。前者は、二項係数が 5 の倍数なので項全体としては 5 の倍数だが、後者は二項係数も 5 の倍数ではない。法 5 の下で W4 ≡ −2 かつ (6 C 5) = 6 ≡ 1 なので、この項は ≡ −2、よって《フ》は
8W8 ≡ −2 つまり −2W8 ≡ −2
を含意し、 W8 ≡ 1 と結論される。果たして W8 = 1026576 は 5 の倍数より 1 大きい。
数値例(その2) p = 3, n = 2p = 6 の場合。
3W3 = W0⋅(6 C 4)
+ W1⋅(5 C 3)
+ W2⋅(4 C 2)
の右辺は、どの項も 32 の倍数ではない。しかし、右辺の三つの項を順に A, B, C とすると:
A/3 = (6⋅5⋅4⋅3)/(4⋅3⋅2⋅1) ÷ 3 = 2⋅5/2! = 2 × 5⋅1/2! ≡ 2 (mod 3)
B/3 = 5⋅6/2 × (5⋅4⋅3)/(3⋅2⋅1) ÷ 3 = 5 × 5⋅4/2! ≡ 5 ≡ −1 (mod 3)
C/3 = (3ℓ − 2) × (4⋅3)/(2⋅1) ÷ 3 = (3ℓ − 2) × 4/2 = (3ℓ)⋅2 + (−2)⋅2 ≡ −4 ≡ −1 (mod 3)
∴ (A + B + C)/3 ≡ 0 (mod 3)
この場合、実際の値は W3 = 225 = 32⋅52 であり、 W3 ≡ 1⋅32 (mod 33) を満たす。「3 の倍数であること」の証明は大きな一歩だが、最初の一歩に過ぎない!
数値例(その3) p = 7, n = 2p = 14 の場合。
7W7 = W0⋅(14 C 8) + W1⋅(13 C 7) + W2⋅(12 C 6) + ··· + W5⋅(9 C 3) + W6⋅(8 C 2) の右辺の最初の2項 A, B と最後の項 C が問題となる。
A/7 = (14⋅13···9⋅8⋅7)/(8⋅7⋅6···1) ÷ 7 = 14⋅13···9/6! ÷ 7 = 2 × (13⋅12···9 × 1)/6! ≡ 2 (mod 7)
B/7 = 13⋅14/2 × (13···9⋅8⋅7)/(7⋅6···1) ÷ 7 = 13 × 13⋅12···9⋅8/6! ≡ 13 ≡ −1 (mod 7)
C/7 = (7ℓ − 2) × 8⋅7/2 ÷ 7 = (7ℓ − 2) × 4 ≡ −8 ≡ −1 (mod 7)
W7 = 790943153 は 72 の倍数。しかも、実は
W7 ≡ 245 ≡ 5⋅72 (mod 73)
を満たす。
![]()
n = 2p に対して Wp が p の倍数であること(p で割り切れること)を証明したが、もっと深いことが言えそうだ。数値例の観察からは、 Wp は p で割り切れるだけでなく p2 でも割り切れそうだし、さらに p3 で割った余りは、独特のシンプルなパターンを持つようだ。(続く)
〔誤植〕 [7], p. 29, “The next equation, giving Ap, is” の次の行の左辺末尾 Ap+1 は Ap−1 の誤り。
![]()
2026-07-05 上側 2p のスターリング(承前) いい気持ちで眠れる証明
p = 5 のとき n = 2p に対する W3, W5, W7 は、それぞれ
9450, 269325, 1172700
で、いずれも p2 = 25 の倍数。小さな素数 p = 3, 5, 7, 11, ··· で試すと、奇数 r = 3, 5, ···, 2p − 3 に対して Wr = [2p S 2p − r] は p2 で割り切れると予想される。特に、
[2⋅3 S 3] ≡ (3 − 2)⋅32 (mod 33)
[2⋅5 S 5] ≡ (5 − 2)⋅52 (mod 53)
[2⋅7 S 7] ≡ (7 − 2)⋅72 (mod 73)
[2⋅11 S 11] ≡ (11 − 2)⋅112 (mod 113)
︙
[2p S p] ≡ (p − 2)⋅p2 (mod p3)
の関係は美しい。
![]()
§16 p を 3 以上の素数とする。 r = 2t が 2p 未満の正の偶数のとき、 2p に対する Wr つまり W2t = S2t(2p − 1) は、法 p2 の下で(従って法 p の下でも)
W2t ≡ σt(p − 1; 2p) マ
を満たす。
リンク先の変数名では N = 2p − 1, L = 2p, h = p, μ = h − t = p − t に当たる。合同式マの法は、一般には (2p)2 ではない(付録B参照)。
簡潔化のため、以下 σj(p − 1; 2p) を単に σj と記す。例えば、
σt ≡ W2t (mod p) ミ
のように(マ参照)。補題6により、 2t = 2, 4, 6, ···, 2p − 4 のとき、 2t = p − 1 の場合を除けば、ミの右辺 W2t は p の倍数であり、 σt は次の性質を持つ。
補題7(Glaisher [7], §52, cf. §17) p を 3 以上の素数とする。 1 ≤ t ≤ p − 2 の範囲の任意の整数 t について、 t = (p − 1)/2 の場合を除き、 σt = σt(p − 1; 2p) は p の倍数。 t = (p − 1)/2 なら σt ≡ −2 (mod p) で、 t = p − 1 なら σt ≡ 1 (mod p)。 t = 0 なら、定義により σt = 1。
〔注〕 p = 3 の場合にも補題7は正しいが、その場合 1 ≤ t ≤ 3 − 2 の範囲には t = 1 しかなく、それは t = (p − 1)/2 に当たり、従って σ1 ≡ −2 (mod 3) となる。実際 σ1(3 − 1; 2⋅3) = 1⋅(6 − 1) + 2⋅(6 − 2) = 13 ≡ −2。
ところが、公式 (iv) を mod p3 で考えると(付録B参照)、任意の W2t+1 = S2t+1(2p − 1) について、
W2t+1 ≡ (μ − 1/2)⋅2p⋅σt (mod p3) ム
が成り立つ(ただし μ = p − t)。言い換えると:
W2t+1 ≡ [(2p − 2t − 1)/2]⋅2p⋅σt = (2p − 2t − 1)⋅p⋅σt (mod p3) メ
補題7により、 1 ≤ t ≤ p − 2 かつ t ≠ (p − 1)/2 なら σt は p の倍数だから、そのときメの右辺は、素因子 p を(少なくとも)二つ持つ。
〔付記〕 奇素数 p を固定し t の範囲を 1 ≤ t ≤ p − 2 とするなら、メの右辺のもう一つの因子 2p − 2t − 1 が p の倍数になるのは t = (p − 1)/2 の場合に限られる。今は仮定 t ≠ (p − 1)/2 によりそのケースを除外している(このケースについては後述)。
結局 n = 2p に対する W3, W5, ··· , W2p−3 のうち、 Wp 以外はいずれも p2 の倍数(Wp については、この議論からは、 p2 の倍数であるともないとも言えない)。実際、メの W2t+1 の t に 1, 2, ··· , p − 2 を代入すれば(ただし 2t + 1 = p のケース Wp を除く)、それらの t に対して W2t+1 は、
xp3 + yp2
の形を持つ(法 p3 の下で p2 の倍数と合同だから。ここで x, y は何らかの整数)。
一方、除外された Wp も――メにおいて、対応する因子 σtが p の倍数でないにもかかわらず――実は p2 の倍数。実際 W2t+1 = Wp は、 t = (p − 1)/2 のケースであり(言い換えれば 2t = p − 1)、そのときメは
Wp ≡ [(2p − (p − 1) − 1)/2]⋅2p⋅σ(p−1)/2 = p2⋅σ(p−1)/2 (mod p3)
を含意し、従って Wp は、
xp3 + p2⋅σ(p−1)/2 モ
の形を持つ。このケースでは、ムにおいて σt が素因子 p を含まない代わりに、 μ − 1/2 がそれを含む。
のみならず t = (p − 1)/2 のケースでは、ミと補題6から
σ(p−1)/2 ≡ Wp−1 ≡ −2 (mod p)
が成り立つので、 σ(p−1)/2 = ℓp − 2 と書くことができる(ℓ は何らかの整数)。それをモに代入すると:
Wp = xp3 + p2⋅(ℓp − 2) ≡ −2p2 (mod p3)
すなわち、次の定理が証明されたのである。
定理4(上側インデックス 2p の第一種スターリング数: Glaisher [7], §52) p が 3 以上の素数のとき、 2p に対応する
W3, W5, ···, W2p−3
は、いずれも p2 で割り切れる。特に Wp = [2p S p] は、
[2p S p] ≡ −2p2 (mod p3)
を満たす。
美しい! 何の役に立つわけでもないけど…
〔注〕 番号が奇数の W のうち、上記以外のもの、すなわち W1 = (p − 1)p/2 と W2p−1 = (2p − 1)! は p の倍数だが、明らかに p2 の倍数ではない。一方、番号が偶数の W2, W4, ···, W2p−2 は、 Wp−1 と W2p−2 を除けば p の倍数(補題6)。
![]()
[6 S 3] = 225 が 9 の倍数であることや [10 S 5] = 269325 が 25 の倍数であることなどは容易に観察可能で、一見たわいもないことのようにも思える。しかしその証明は、 Wolstenholme の定理のそれとも似て、シンプルな表面的現象とは裏腹に、意外と奥が深い。特に、それらの数を p3 で割ったときの剰余の振る舞いは精妙。現代的にはもっとエレガントな証明法があるのかもしれないが、これはまぁ、なんていうか「結構長い道を歩いてきたなあ、いろいろあったなあ」という心地よい疲労感、長くもつれた議論が完結した安堵感、小粒でもきれいな結果の達成感があって、「ああ、今夜はいい気持ちで眠れるな」、みたいな証明かと(笑)。
もちろん「証明終わり」の詰めの部分だけ見ても、無味乾燥だろう。楽しく遊ぶには、喜びを味わうには、インスタントじゃ無理というもの。これ自体、華々しいゴールでも何でもなく、「気まぐれな散歩の、ちょっとした裏道の風景」に過ぎないけど。(続く)
![]()
付録B p2 などを法とする Wr(2p) の σ 表現について。
本文同様、この付録でも σj は σj(p − 1; 2p) を意味する。
公式 (iii) によれば、
W2t(2p) = σt + (μ2/2!)⋅(2p)2⋅σt−1 + [(μ + 1)μ2(μ − 1)/4!]⋅(2p)4⋅σt−2 + ···
であるから、一見、法 (2p)2 つまり法 4p2 の下で
W2t(2p) ≡ σt (✽)
が成り立ちそうだが、それは公式の右辺第2項 (μ2/2!)⋅(2p)2⋅σt−1 以下が (2p)2 で割り切れるなら、という仮定上の話。
実際には、もし μ と σt−1 が両方奇数なら (μ2/2!)⋅σt−1 は 1/2 の端数を持ち、それを解消するために、この第2項の因子 (2p)2 に含まれる素因子 2 の一つは約される。つまり、一般には、この項は (2p)2 で割り切れず、従って上記の仮定は成り立たない。第3項以下の影響を無視できるとしても、(✽)の法は 4p2 ではなく 2p2 の約数でなければならない。第3項以下は明らかに p2 の倍数なので、法 p2 の下で(✽)が成り立つことは明白であり、ここではそれで十分。
同様に、公式 (iv) によれば、
W2t+1(2p) = [(μ − ½)/1!]⋅(2p)1⋅σt + [μ(μ − ½)(μ − 1)/3!]⋅(2p)3⋅σt−1 + [(μ + 1)μ(μ − ½)(μ − 1)(μ − 2)/5!]⋅(2p)5⋅σt−2 + ···
であるが、必ずしも法 8p3 の下で
W2t+1(2p) ≡ (μ − 1/2)⋅(2p)⋅σt
が成り立つわけではなく、右辺第3項以下の影響を無視できるとしても、一般には 4p3 またはその約数を法とする必要がある(ここでは法 p3 で十分)。
具体的に、整数 μ の値が何であろうとも、分数 μ(μ − ½)(μ − 1)/3! = μ(2μ − 1)(μ − 1)/12 の(右側の)分子の三つの因子の中には 3 の倍数が(ちょうど)一つあり、かつ、偶数が(ちょうど)一つあるので、この分数から 1/3 や 1/4 の端数が生じることはないが、他方において、この分子は μ ≡ 0, 1 (mod 4) の場合に限って 4 の倍数であり、もし μ ≡ 2, 3 (mod 4) ならこの分数の値は整数にならずに 1/2 の端数を持つ。その場合、もし σt−1 も奇数であれば、
[μ(μ − ½)(μ − 1)/3!]⋅(2p)3⋅σt−1
の因子 (2p)3 に含まれる 2 は一つ約され、この項は (2p)3 で割り切れない。
30 以下の奇素数 p について上記の関係を数値的に調べたところ、 p = 17 の場合を除いて、必ずそのようなケースが存在する。例えば p = 5, t = 3 の場合には μ = 5 − 3 ≡ 2 (mod 4) であるから、
μ(μ − ½)(μ − 1)/3! = 1/2
は 1/2 の端数を持つ。しかもこの場合、 σt−1 = σ2(4; 10) = 1773 は奇数。その結果、法 (2p)3 = 1000 の下で
[μ(μ − ½)(μ − 1)/3!]⋅(2p)3⋅σt−1 = 886500
は ≢ 0 であり(法 4p3 = 500 の下でなら ≡ 0 である)、従って
W7(10) ≡ (2 − 1/2)⋅10⋅σ3 (mod 103)
は成り立たない。すなわち、左辺 1172700 と右辺 286200 の差は 1000 で割り切れない(500 でなら割り切れる)。
「左辺と右辺の差が 500 で割り切れる」というのは「W7(10) 自身が 500 で割り切れる」という意味ではない。
『遊びの数論63』へ続く。