Wilsonの定理(Wilson's theorem)とは、$2$ 以上の整数 $n$ について、$n$ が素数であることと $(n-1)!\equiv-1\pmod n$ が同値であるという定理である。素数 $p$ では、$2$ から $p-2$ までの数が、積が $1$ と合同になる逆元どうしの組に分かれ、自分自身と組になるのは $x^2\equiv1$ の解 $\pm1$ だけであることから示せる。素数でない $n$ では、$n=4$ のとき余りは $2$、$n>4$ のとき $0$ である。系として、$4$ で割って $1$ 余る素数 $p$ では $x=\left(\frac{p-1}2\right)!$ が $x^2\equiv-1\pmod p$ を満たす。$4$ で割って $3$ 余る素数では $x^2\equiv-1$ の解はない。
前提知識: 合同式の割り算と逆元, Fermatの小定理と冪の余り, 合同式の計算規則
$1$ から $n-1$ までの積 $(n-1)!$ を $n$ で割った余りを調べてみる。Fermatの小定理と冪の余り では、素数 $p$ について $a^{p-1}$ を $p$ で割った余りが $1$ になることを学んだ。階乗の余りにも、素数のときだけに現れる規則がある。この記事では、その規則(Wilson の定理)を証明し、そこから「$2$ 乗すると $-1$ になる数」を作る方法を導く。大学向けの用語解説は Wilsonの定理 である。
$n=2$ から $12$ まで、$(n-1)!$ を $n$ で割った余りを計算すると次のようになる。
| $n$ | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ | $8$ | $9$ | $10$ | $11$ | $12$ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| $(n-1)!$ | $1$ | $2$ | $6$ | $24$ | $120$ | $720$ | $5040$ | $40320$ | $362880$ | $3628800$ | $39916800$ |
| 余り | $1$ | $2$ | $2$ | $4$ | $0$ | $6$ | $0$ | $0$ | $0$ | $10$ | $0$ |
$n$ が素数 $2,3,5,7,11$ のとき、余りはどれも $n-1$ である。$n$ が素数でないときは、$n=4$ で $2$、それ以外は $0$ である。
余りが $n-1$ であることは、合同式で $(n-1)!\equiv-1\pmod n$ と書ける($n-1\equiv-1$ だからである)。なぜ素数のときだけ $-1$ になるのかを、$n=7$ で見てみる。
$6!=1\cdot2\cdot3\cdot4\cdot5\cdot6$ の $6$ つの数のうち、$2$ と $4$、$3$ と $5$ を組にする。
$$
2\cdot4=8\equiv1,\qquad 3\cdot5=15\equiv1\pmod7
$$
なので、組にした 2 つの積はどちらも $1$ と合同である。残るのは $1$ と $6$ で
$$
6!=1\cdot(2\cdot4)\cdot(3\cdot5)\cdot6\equiv1\cdot1\cdot1\cdot6=6\equiv-1\pmod7
$$
である。実際 $6!=720=7\cdot103-1$ である。
ex-wlhs-start-7 で組にした $4$ は、法 $7$ での $2$ の 逆元(掛けると $1$ と合同になる数)である。この記事で答える問いは次の 3 つである。
| 高校の計算 | この記事の言葉 | 大学の言葉 |
|---|---|---|
| 掛けると $1$ と合同になる数を組にする | 逆元どうしの組(lem-wlhs-pairing) | 群の元とその逆元 |
| $x^2\equiv1$ の解は $\pm1$ だけ | 自分自身と組になる数(lem-wlhs-square-one) | 体の上の 2 次方程式の解は 2 個以下 |
| $(p-1)!\equiv-1$ | Wilson の定理(thm-wlhs-main) | 有限体の乗法群の元すべての積は $-1$ |
| $k$ と $p-k$ を組にする | $-1$ の平方根(cor-wlhs-sqrt) | $-1$ が平方剰余になる条件 |
以下、$p$ は素数とする。合同式の割り算と逆元 で示した次の 2 つを使う。
$aa'\equiv1$ は $a'a\equiv1$ と同じなので、$a'$ の逆元は $a$ である。つまり「逆元」は数を 2 つずつ結びつける。法 $11$ での逆元の表は 合同式の割り算と逆元 の例「法 11 での逆元」にある。
組にならずに残る数は、自分自身が逆元になる数、つまり $a\cdot a\equiv1$ となる数である。
$p$ を素数とする。整数 $x$ について
$$
x^2\equiv1\pmod p\iff x\equiv1\ \text{または}\ x\equiv-1\pmod p
$$
である。特に、$1$ から $p-1$ までの数のうち、自分自身が逆元になるのは $1$ と $p-1$ だけである。
方針:$x^2-1$ を因数分解し、素数が積を割るときの性質を使う。
段 1(⇐)。$x\equiv\pm1$ なら $x^2\equiv(\pm1)^2=1$ である。
段 2(⇒)。$x^2\equiv1$ とすると、$p$ は $x^2-1=(x-1)(x+1)$ を割る。$p$ は素数なので、合同式の割り算と逆元 の系「素数を法とする積が 0 と合同なら」により、$p$ は $x-1$ か $x+1$ を割る。前者なら $x\equiv1$、後者なら $x\equiv-1$ である。
段 3($1$ から $p-1$ までの数)。$x\equiv1$ となるのは $x=1$、$x\equiv-1$ となるのは $x=p-1$ だけである。$p=2$ では $1$ と $p-1$ は同じ数 $1$ である。$\square$
法が素数でないと、段 2 が使えない。合同式の割り算と逆元 の反例「法 8 では $x^2\equiv 1$ の解が 4 つある」のとおり、法 $8$ では $1,3,5,7$ のどれも $2$ 乗すると $1$ と合同になる。
$p$ を $5$ 以上の素数とする。$2$ から $p-2$ までの $p-3$ 個の数は、$a\ne a'$、$aa'\equiv1\pmod p$ となる $\frac{p-3}2$ 個の組 $\{a,a'\}$ に、重なりなく分けられる。
方針:rem-wlhs-inverse で数と逆元を結び、lem-wlhs-square-one で自分自身と結ばれる数を除く。
段 1(逆元は同じ範囲にある)。$2\le a\le p-2$ とする。rem-wlhs-inverse により、$a$ の逆元 $a'$ が $1$ から $p-1$ までにただ 1 つある。$a'=1$ なら $1\equiv aa'=a$ となり、$a'=p-1\equiv-1$ なら $1\equiv aa'\equiv-a$ から $a\equiv-1$ となって、どちらも $2\le a\le p-2$ に反する。よって $2\le a'\le p-2$ である。
段 2($a\ne a'$)。$a'=a$ なら $a^2\equiv1$ で、lem-wlhs-square-one により $a=1$ か $a=p-1$ となり、$2\le a\le p-2$ に反する。よって $a'\ne a$ である。
段 3(組に分ける)。$a'$ の逆元は $a$ なので、$a$ と $a'$ は互いに相手を指す。$2$ から $p-2$ までの数を、それぞれ自分の逆元と結ぶと、どの数もちょうど 1 つの組 $\{a,a'\}$ に入り、各組は相異なる 2 数からなる。$p-3$ 個の数が 2 個ずつの組に分かれるので、組の数は $\frac{p-3}2$ である($p$ は奇数なので $p-3$ は偶数)。$\square$
1 から 10 を円周上に並べ、法 11 で逆元どうしを線で結んだ図。2 と 6、3 と 4、5 と 9、7 と 8 が組になり、1 と 10 だけが自分自身と組になる
図 1 は、$p=11$ で $1$ から $10$ までを円周上に並べ、逆元どうしを線で結んだものである。$2$ と $6$($12\equiv1$)、$3$ と $4$($12\equiv1$)、$5$ と $9$($45\equiv1$)、$7$ と $8$($56\equiv1$)の $4$ 組ができ、$1$ と $10$ だけが自分自身と組になる($10^2=100\equiv1$)。$4=\frac{11-3}2$ で、lem-wlhs-pairing のとおりである。
$2$ 以上の整数 $n$ について
$$
n\text{ が素数}\iff(n-1)!\equiv-1\pmod n
$$
である。
方針:⇒ は、lem-wlhs-pairing の組ごとに積をとる。⇐ は対偶を示す。$n$ が素数でなければ、$n$ の約数 $a$($2\le a\le n-1$)が $(n-1)!$ と $(n-1)!+1$ の両方を割ることになり、矛盾する。
段 1(⇒、$p=2,3$)。$p=2$ では $1!=1\equiv-1\pmod2$、$p=3$ では $2!=2\equiv-1\pmod3$ である。
段 2(⇒、$p\ge5$)。$(p-1)!$ を
$$
(p-1)!=1\cdot\underbrace{\bigl(2\cdot3\cdots(p-2)\bigr)}_{\text{組に分ける}}\cdot(p-1)
$$
と分ける。lem-wlhs-pairing により、真ん中の $p-3$ 個の数は、積が $1$ と合同になる $\frac{p-3}2$ 個の組に分かれる。掛ける順番を組ごとに並べかえると、真ん中の積は $1$ を $\frac{p-3}2$ 回掛けたものと合同で、$1$ と合同である。よって
$$
(p-1)!\equiv1\cdot1\cdot(p-1)=p-1\equiv-1\pmod p
$$
である。
段 3(⇐:$n$ が素数でない場合)。$n\ge2$ が素数でないとすると、$n$ は $1$ と $n$ 以外の正の約数 $a$ をもち、$2\le a\le n-1$ である。$a$ は $1$ から $n-1$ までの数の 1 つなので、$(n-1)!$ の因数に含まれ、$a$ は $(n-1)!$ を割る。もし $(n-1)!\equiv-1\pmod n$ なら、$n$ は $(n-1)!+1$ を割り、$a$ は $n$ を割るので、$a$ も $(n-1)!+1$ を割る。すると $a$ は差 $\bigl((n-1)!+1\bigr)-(n-1)!=1$ を割ることになり、$a\ge2$ に反する。よって $(n-1)!\not\equiv-1\pmod n$ である。対偶をとって ⇐ を得る。$\square$
逆元の組を使うこの証明は Cri24 にあり、⇔ の形の主張は Ste17 にある。段 2 で使ったのは、法 $p$ で $0$ 以外のすべての数が逆元をもつこと(rem-wlhs-inverse)と、自分自身が逆元になる数が $\pm1$ だけであること(lem-wlhs-square-one)の 2 つである。どちらも $p$ が素数であることから出ている。
図 1 の組を使う。
$$
10!=1\cdot(2\cdot6)\cdot(3\cdot4)\cdot(5\cdot9)\cdot(7\cdot8)\cdot10
$$
で、$2\cdot6=12$、$3\cdot4=12$、$5\cdot9=45$、$7\cdot8=56$ はどれも $11$ で割って $1$ 余る。よって $10!\equiv1\cdot1\cdot1\cdot1\cdot1\cdot10=10\equiv-1\pmod{11}$ である。実際 $10!+1=3628801=11\cdot329891$ である。
法 $13$ で、$2$ から $11$ までの数を逆元どうしの組にすると $\{2,7\}$、$\{3,9\}$、$\{4,10\}$、$\{5,8\}$、$\{6,11\}$ の $5$ 組になる。
$2\cdot7=14=13+1$、$3\cdot9=27=26+1$、$4\cdot10=40=39+1$、$5\cdot8=40=39+1$、$6\cdot11=66=65+1$ で、どれも $13$ で割って $1$ 余る。よって $12!\equiv1\cdot1^5\cdot12=12\equiv-1\pmod{13}$ である。
Wilson の定理を使うと、大きな階乗の余りがすぐに分かる。
$101$ は素数である($\sqrt{101}<11$ で、$2,3,5,7$ のどれでも割り切れない)。thm-wlhs-main により $100!\equiv-1\pmod{101}$ で、余りは $100$ である。さらに $100!=100\cdot99!$ で $100\equiv-1$ なので、$-1\equiv100!\equiv-99!$ から $99!\equiv1\pmod{101}$ も分かる。
ex-wlhs-start-table では、素数でない $n$ の余りは $n=4$ のときだけ $2$ で、ほかは $0$ だった。これは一般に成り立つ。
$n$ を素数でない $2$ 以上の整数とする。$n=4$ なら $(n-1)!\equiv2\pmod n$ であり、$n>4$ なら $(n-1)!\equiv0\pmod n$ である。
方針:$n=ab$ と分け、$a$ と $b$(または $a$ と $2a$)が $1$ から $n-1$ までの相異なる数として $(n-1)!$ に現れることを示す。
段 1($n=4$)。$3!=6=4+2$ なので $3!\equiv2\pmod4$ である。
段 2($n>4$ で $n=ab$、$2\le a< b$ と書ける場合)。$b=\frac na\le\frac n2< n$ なので、$a$ と $b$ は $1$ から $n-1$ までの相異なる数である。$(n-1)!$ は $a$ と $b$ を別々の因数として含むので、$ab=n$ で割り切れる。
段 3($n>4$ で段 2 のように書けない場合)。$n$ は素数でないので $n=ab$、$2\le a\le b$ と書ける。段 2 のように書けないなら $a=b$ で、$n=a^2$ である。$n>4$ なので $a\ge3$ である。$a$ と $2a$ は相異なり、$a\ge3$ から $2a< a\cdot a=n$ なので、どちらも $1$ から $n-1$ までの数である。$(n-1)!$ は $a$ と $2a$ を別々の因数として含むので、$a\cdot2a=2n$ で割り切れ、特に $n$ で割り切れる。$\square$
$9=3\cdot3$ で、段 2 のようには分けられない。段 3 のとおり $3$ と $6$ を使うと、$8!=1\cdot2\cdot3\cdot4\cdot5\cdot6\cdot7\cdot8$ は $3\cdot6=18$ で割り切れ、$9$ で割り切れる。実際 $8!=40320=9\cdot4480$ である。$n=4=2\cdot2$ では $2a=4$ が $n-1=3$ を超えてしまい、同じ論法が使えない。これが $n=4$ だけ余りが $0$ にならない理由である。
実数の範囲では、$2$ 乗して $-1$ になる数はない。ところが素数 $p$ を法とすると、$x^2\equiv-1\pmod p$ となる整数 $x$ があることがある。たとえば $p=13$ では、$5^2=25=26-1\equiv-1$ である。Wilson の定理を使うと、そのような $x$ を階乗で書ける。
$p$ を $4$ で割って $1$ 余る素数とする。$x=\left(\dfrac{p-1}2\right)!$ とおくと
$$
x^2\equiv-1\pmod p
$$
である。
方針:$(p-1)!$ の因数を $k$ と $p-k$ の組に並べかえ、$p-k\equiv-k$ を使って $(p-1)!$ を $x^2$ で書く。そこに thm-wlhs-main を使う。
段 1(組に並べる)。$h=\dfrac{p-1}2$ とおく。$1$ から $p-1$ までの数は、$k$ と $p-k$($k=1,2,\dots,h$)の $h$ 組に分かれる。$k\le h$ なら $p-k\ge p-h=h+1$ なので、組は重ならない。よって
$$
(p-1)!=\prod_{k=1}^{h}k\,(p-k)
$$
である。
段 2($p-k\equiv-k$ を使う)。$p-k\equiv-k\pmod p$ なので
$$
(p-1)!\equiv\prod_{k=1}^{h}k\cdot(-k)=(-1)^h\bigl(1\cdot2\cdots h\bigr)^2=(-1)^h\,x^2\pmod p
$$
である。
段 3($h$ は偶数)。$p=4m+1$ と書けるので $h=2m$ は偶数で、$(-1)^h=1$ である。段 2 と thm-wlhs-main から $x^2\equiv(p-1)!\equiv-1\pmod p$ を得る。$\square$
1 から 12 を並べ、k と 13 − k を弧で結んだ図。1 から 6 のそれぞれと組になる 12 から 7 は、法 13 で −1 から −6 と合同になる
図 2 は、$p=13$ で段 1・段 2 の組を描いたものである。$1$ から $6$ までの数と、$12$ から $7$ までの数が $1$ 対 $1$ に組になり、$12\equiv-1$、$11\equiv-2$、…、$7\equiv-6$ である。$12!$ は $6!$ と「$-1$ から $-6$ までの積」の積になり、マイナスの符号が $6$ 個(偶数個)なので $12!\equiv(6!)^2$ となる。
$h=8$、$x=8!=40320$ である。
$40320=17\cdot2371+13$ なので $x\equiv13$ である。$13^2=169=10\cdot17-1\equiv-1\pmod{17}$ である。
$4$ で割って $3$ 余る素数では、事情がまったく違う。
$p$ を $4$ で割って $3$ 余る素数とする。$x^2\equiv-1\pmod p$ となる整数 $x$ は存在しない。
方針:Fermat の小定理 $x^{p-1}\equiv1$ と、$x^2\equiv-1$ から出る $x^{p-1}\equiv-1$ を比べる。
$x^2\equiv-1$ となる $x$ があったとする。$p$ が $x$ を割るなら $x^2\equiv0\not\equiv-1$ なので、$p$ は $x$ を割らない。Fermat の小定理により $x^{p-1}\equiv1\pmod p$ である。一方 $h=\dfrac{p-1}2$ は奇数なので($p=4m+3$ なら $h=2m+1$)、
$$
x^{p-1}=(x^2)^h\equiv(-1)^h=-1\pmod p
$$
である。2 つを合わせると $1\equiv-1$、つまり $p$ が $2$ を割ることになり、$p\ge3$ に反する。$\square$
cor-wlhs-sqrt の証明の段 2 は、$4$ で割って $3$ 余る素数でも成り立ち、そのときは $x^2\equiv-(p-1)!\equiv1$ となる。たとえば $p=7$ では $x=3!=6$ で $6^2=36\equiv1\pmod7$ である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| thm-wlhs-main の「$n$ が素数」 | $n=4$、$n=6$、$n=9$ | $(n-1)!\equiv-1$(余りは $2$、$0$、$0$) |
| lem-wlhs-square-one の「法が素数」 | 法 $8$ の $1,3,5,7$ | 自分自身と組になるのは $\pm1$ だけ |
| cor-wlhs-sqrt の「$p\equiv1\pmod4$」 | $p=7$、$x=3!$ | $x^2\equiv-1$($x^2\equiv1$ になる) |
| (注意)実用的な素数判定として使う | $n=101$($100!$ は $158$ 桁) | 計算が実用的な手間で済むこと(定理そのものは正しい) |
ex-wlhs-start-table のとおり、$n=4$ では $3!=6\equiv2$、$n=6$ では $5!=120\equiv0$、$n=9$ では $8!=40320\equiv0$ で、どれも $-1$ と合同でない。thm-wlhs-main の段 3 のとおり、$n$ の約数 $a$($n=6$ なら $a=2$)が $(n-1)!$ を割るので、$(n-1)!+1$ は $a$ で割り切れず、$n$ でも割り切れない。
法 $8$ で逆元をもつ数は、$8$ と互いに素な $1,3,5,7$ である。$3^2=9$、$5^2=25$、$7^2=49$ はどれも $8$ で割って $1$ 余るので、$4$ つの数はすべて自分自身が逆元で、組にならない。4 つの積は $1\cdot3\cdot5\cdot7=105=13\cdot8+1\equiv1\pmod8$ で、$-1$ ではない。lem-wlhs-square-one の段 2 で使った「素数が積を割るならどちらかを割る」が、法 $8$ では成り立たない($8$ は $(3-1)(3+1)=8$ を割るが、$2$ も $4$ も割らない)。
thm-wlhs-main は「$n$ が素数かどうか」を $(n-1)!$ の余りで完全に言い当てる。しかし、$n=101$ を判定するだけでも $100!$($158$ 桁の数)の余りが要り、法 $101$ で余りをとりながら掛けても $98$ 回の掛け算が要る。$\sqrt{101}$ 以下の素数 $2,3,5,7$ で割ってみる方がずっと速い。Ste17 も、$(n-1)!$ の計算の手間から、この判定法はおそらく最も効率の悪い素数判定法の 1 つだろうと述べている。
rem-wlhs-inverse と lem-wlhs-square-one は、大学数学では次のように言いかえられる。素数 $p$ を法とする余り $0,1,\dots,p-1$ は、足し算・引き算・掛け算・$0$ 以外での割り算ができる 体 をなす(有限体 $\mathbb{F}_p$)。$0$ 以外の $p-1$ 個の余りは掛け算について 群 をなし、Wilson の定理は「この群の元をすべて掛けると $-1$ になる」と読める。証明の組分けは、群の元をその逆元と組にする操作である。Sho08 は Wilson の定理をこの形(乗法群の元すべての積は $-1$)で述べている。
(1) 多項式による別証明。法 $p$ で係数を考えると、多項式として $x^{p-1}-1\equiv(x-1)(x-2)\cdots\bigl(x-(p-1)\bigr)$ が成り立つ。左辺は Fermat の小定理により $x=1,\dots,p-1$ で $0$ と合同になり、体の上の多項式の根の個数は次数以下であることから、両辺の差の係数がすべて $p$ で割り切れるからである。定数項を比べると $-1\equiv(-1)^{p-1}(p-1)!$ で、$p$ が奇数なら $(p-1)!\equiv-1$ を得る。詳しくは Wilsonの定理 の証明「多項式の因数分解による証明」を見よ(この記事では、根の個数の事実は証明しない)。
(2) 合成数の法への一般化。$n$ と互いに素な $1$ 以上 $n$ 以下の数をすべて掛けた積は、$n=2,4,p^k,2p^k$($p$ は奇数の素数、$k\ge1$)のとき $-1$ と合同で、それ以外のとき $1$ と合同になる(Wilsonの定理 の定理「Gaussによる一般化」。この記事では証明しない)。ex-wlhs-cx-8 の $n=8$ は積が $1$ になる例で、$n=9=3^2$ では $1\cdot2\cdot4\cdot5\cdot7\cdot8=2240=9\cdot249-1\equiv-1$ である。
$17$ が素数であることと thm-wlhs-main を使って、$15!$ を $17$ で割った余りを求めよ。
thm-wlhs-main により $16!\equiv-1\pmod{17}$ である。$16!=16\cdot15!$ で $16\equiv-1$ なので、$-1\equiv16!\equiv-15!$ である。両辺に $-1$ を掛けて $15!\equiv1\pmod{17}$、余りは $1$ である。
$p$ を素数とする。$(p-2)!\equiv1\pmod p$ を示せ($p=2$ では $0!=1$ と約束する)。
$p=2$ では $0!=1$ で成り立つ。$p\ge3$ とする。$(p-1)!=(p-1)\cdot(p-2)!$ で $p-1\equiv-1$ なので、thm-wlhs-main から $-1\equiv(p-1)!\equiv-(p-2)!$ である。両辺に $-1$ を掛けて $(p-2)!\equiv1\pmod p$ を得る。1 つ目の演習はこの $p=17$ の場合である。
cor-wlhs-sqrt を使って、$x^2\equiv-1\pmod{29}$ を満たす $x$ を $1$ 以上 $28$ 以下で 2 つ求めよ。ただし $14!$ を $29$ で割った余りが $12$ であることを使ってよい。
$29=4\cdot7+1$ なので cor-wlhs-sqrt が使え、$x=14!\equiv12$ が解である。実際 $12^2=144=5\cdot29-1\equiv-1\pmod{29}$ である。$(-12)^2=12^2$ なので、$29-12=17$ も解である($17^2=289=10\cdot29-1$)。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する