遊びの数論62 第一種スターリング数

[遊びの数論] 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
61 | 62 | 63

前のページ(『遊びの数論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){t + [μ(μ − 1)/3!]⋅L3⋅σt−1 + [(μ + 1)μ(μ − 1)(μ − 2)/5!]⋅L5⋅σt−2 + ···}

第1式の (μ − 1/2)⋅L 倍
  (μ − 1/2){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 個ずつ区切って考える。

【表1】 D! = (Ep + F)! の D 個の因子たちを p 個ずつ並べる
p



×
E
123···p
p + 1p + 2p + 3···2p
2p + 12p + 22p + 3···3p
(E − 1)p + 1(E − 1)p + 2(a − 1)p + 3···Ep
 Ep + 1Ep + 2Ep + 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 組

【表2】 D! の D = Ep + F 個の因子たち(表1も参照)
 Q1Q2
p



×
E
12···p − 1p
p + 1p + 2···2p − 12p
2p + 12p + 2···3p − 13p
(E − 1)p + 1(E − 1)p + 2···Ep − 1Ep
Q3Ep + 1Ep + 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 の倍数の場合)を一つにまとめると:

定理2Glaisher [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−11/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/31/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』へ続く。


<メールアドレス>