初等整数論/フェルマーの小定理

整数論における重要な定理のいくつかは、合同式を用いるとそのステートメントを簡潔に書き表すことができる。その中の一つ、フェルマーの小定理について解説し、そこからわかる、素数を法とする剰余類の構造について解説する。また、合わせて合同式によって素数を特徴づけるウィルソンの定理についても触れる。
p を素数、a を p で割り切れない自然数とすると、 a p − 1 ≡ 1 ( mod p ) {\displaystyle a^{p-1}\equiv 1{\pmod {p}}}
証明 1 上記の合同式の性質より、「 a p ≡ a ( mod p ) {\displaystyle a^{p}\equiv a{\pmod {p}}} 」を示せばよい。この命題を a に関する数学的帰納法で証明する。a =1のとき成立することは自明である。a での成立を仮定して a +1 での成立を示す。二項定理より
( a + 1 ) p = a p + ( p 1 ) a p − 1 + ⋯ + ( p p − 1 ) a + 1 ≡ a p + 1 ( mod p ) {\displaystyle (a+1)^{p}=a^{p}+{\binom {p}{1}}a^{p-1}+\dots +{\binom {p}{p-1}}a+1\equiv a^{p}+1\ {\pmod {p}}} ( ∵ ( p 1 ) , ... , ( p p − 1 ) {\displaystyle \because {\binom {p}{1}},\dots ,{\binom {p}{p-1}}} は p {\displaystyle p} の倍数であるため)
であり、帰納法の仮定より
a p + 1 ≡ a + 1 ( mod p ) {\displaystyle a^{p}+1\equiv a+1{\pmod {p}}}
なので、
( a + 1 ) p ≡ a + 1 ( mod p ) ◻ {\displaystyle (a+1)^{p}\equiv a+1{\pmod {p}}\ \square }
証明 2 gcd ( a , p ) = 1 {\displaystyle \gcd(a,p)=1} より、定理 1.8 から 0 = 0 a , a , 2 a , 3 a , ⋯ , ( p − 1 ) a {\displaystyle 0=0a,a,2a,3a,\cdots ,(p-1)a} は p で割ったとき全ての余り 0 , 1 , 2 , 3 , ⋯ , p − 1 {\displaystyle 0,1,2,3,\cdots ,p-1} を網羅している。余りが 0 すなわち割り切れるのは 0 {\displaystyle 0} であるから、 a , 2 a , 3 a , ⋯ , ( p − 1 ) a {\displaystyle a,2a,3a,\cdots ,(p-1)a} は全ての余り 1 , 2 , 3 , ⋯ , p − 1 {\displaystyle 1,2,3,\cdots ,p-1} を網羅する。
したがって、定理 2.1 の (v) より 1 ⋅ 2 ⋅ 3 ⋯ ( p − 1 ) ≡ a ⋅ 2 a ⋯ 3 a ⋯ ( p − 1 ) a ⟺ ( p − 1 ) ! ≡ a p − 1 ( p − 1 ) ! ( mod p ) {\displaystyle 1\cdot 2\cdot 3\cdots (p-1)\equiv a\cdot 2a\cdots 3a\cdots (p-1)a\iff (p-1)!\equiv a^{p-1}(p-1)!\ {\pmod {p}}}
ここで、 p {\displaystyle p} は素数なので、 ( p − 1 ) ! {\displaystyle (p-1)!} とは互いに素。したがって、定理 2.1.1 (vi) より、両辺を ( p − 1 ) ! {\displaystyle (p-1)!} で割って定理を得る。
この定理は単純な定理であるが、とても強力である。この定理を用いれば、合同式について、はじめにあげた問題は次のように解くことができる。
7は素数であり12345は7で割り切れないので、 12345 6 = 12345 7 − 1 ≡ 1 ( mod 7 ) {\displaystyle 12345^{6}=12345^{7-1}\equiv 1{\pmod {7}}} である。つまり求める余りは1である。
フェルマーの小定理の逆は必ずしも正しくない。つまり n {\displaystyle n} が合成数であるにもかかわらず a ≢ 1 ( mod p ) , a n − 1 ≡ 1 ( mod p ) {\displaystyle a\not \equiv 1{\pmod {p}},a^{n-1}\equiv 1{\pmod {p}}} となる整数 a {\displaystyle a} が存在する場合がある。たとえば 2 340 ≡ 1 ( mod 341 ) {\displaystyle 2^{340}\equiv 1{\pmod {341}}} である。実際 2 10 − 1 = 1023 = 3 1 ̇ 1 3 ̇ 1 {\displaystyle 2^{10}-1=1023=3{\dot {1}}1{\dot {3}}1} より 2 10 ≡ 1 ( mod 341 ) {\displaystyle 2^{10}\equiv 1{\pmod {341}}} である。このような数は擬素数と呼ばれる。さらに厄介なことに、 gcd ( a , N ) = 1 {\displaystyle \gcd(a,N)=1} となる任意の a {\displaystyle a} に対し a N − 1 ≡ 1 ( mod N ) {\displaystyle a^{N-1}\equiv 1{\pmod {N}}} となる合成数 N {\displaystyle N} が存在する。そのような場合 a N − 1 ≢ 1 ( mod N ) {\displaystyle a^{N-1}\not \equiv 1{\pmod {N}}} となる a {\displaystyle a} を見つけるのは N {\displaystyle N} の素因数を見つけるのと同等の困難さを伴うことになる。このような数をカーマイケル数という。たとえば 561 = 3 ⋅ 11 ⋅ 17 {\displaystyle 561=3\cdot 11\cdot 17} はカーマイケル数である(この場合は3で割り切れることがすぐに分かるが)。
したがって、フェルマーの小定理のみで与えられた数が素数かどうか判定することはできない。しかし、素数判定法の実行に先立ってフェルマーの小定理が成り立つかどうか確認することで多くの場合に、素数判定に時間を費やすことなく合成数であることを確認することができる。
なお、「小定理」というのは、同じフェルマーによる「大定理」(「フェルマーの最終定理」とも呼ばれる)があるからである。大定理は小定理とは同じフェルマーが予想した(フェルマーは証明を残さない数学者だった)整数論の定理であること以外は無関係であり、合同式も登場しないが、余談としてここに掲載しておく。
定理(Fermat-Wiles)
を満たすような整数 x , y , z , n ( x , y , z ≥ 1 , n ≥ 3 ) {\displaystyle x,y,z,n(x,y,z\geq 1,n\geq 3)} は存在しない。
17世紀にフェルマーが予想したこの2つの定理だが、小定理は数十年後に証明されたのに対し、最終定理が証明されたのは1995年のことである。もちろんこの証明は初等的ではなく、この教科書の程度を超えるので、ここでは紹介しない。
素数 p {\displaystyle p} に対して、フェルマーの小定理より、 gcd ( a , p ) = 1 ⇒ a p − 1 ≡ 1 ( mod p ) {\displaystyle \gcd(a,p)=1\Rightarrow a^{p-1}\equiv 1{\pmod {p}}} だったので、
2 6 ≡ 1 ( mod 7 ) {\displaystyle 2^{6}\equiv 1{\pmod {7}}} となる。ここで、 2 n {\displaystyle 2^{n}} という形で、7 を法として 1 と合同になる最小の n {\displaystyle n} を探してみよう。 2 1 ≡ 2 , 2 2 ≡ 4 , 2 3 ≡ 1 ( mod 7 ) {\displaystyle 2^{1}\equiv 2,2^{2}\equiv 4,2^{3}\equiv 1{\pmod {7}}} となり、3 が最小だと分かった。
一般に、正の整数 N {\displaystyle N} とこれに互いに素な数 a {\displaystyle a} について、 a n ≡ 1 ( mod N ) {\displaystyle a^{n}\equiv 1{\pmod {N}}} となる最小の自然数 n {\displaystyle n} を、「 N {\displaystyle N} を法とした a {\displaystyle a} の位数」という。 N {\displaystyle N} を法とした a {\displaystyle a} の位数を o r d N ( a ) {\displaystyle {\rm {ord}}_{N}(a)} と書くことがあるが、この表記はp進位数という別の意味を持つこともあるので注意する必要がある。
当面は素数を法とする位数について論じることとする。位数に関して、次の命題はほぼ自明だが、基本的な事実である。
命題 a {\displaystyle a} を素数 p {\displaystyle p} と互いに素な数とし、 a ( mod p ) {\displaystyle a{\pmod {p}}} の位数を e {\displaystyle e} とする。このとき 1 , a , a 2 , ... , a e − 1 {\displaystyle 1,a,a^{2},\ldots ,a^{e-1}} は合同方程式
のすべての解である。
実際、 a i ( i = 0 , 1 , ... , e − 1 ) {\displaystyle a^{i}(i=0,1,\ldots ,e-1)} がこの合同方程式の解であることは ( a i ) e ≡ ( a e ) i ≡ 1 ( mod p ) {\displaystyle (a^{i})^{e}\equiv (a^{e})^{i}\equiv 1{\pmod {p}}} から、すぐにわかる。また 0 ≤ h < k ≤ e − 1 {\displaystyle 0\leq h<k\leq e-1} ならば 0 < k − h < e {\displaystyle 0<k-h<e} より a k ≡ a h a k − h ≢ a h ( mod p ) {\displaystyle a^{k}\equiv a^{h}a^{k-h}\not \equiv a^{h}{\pmod {p}}} となるから a i ( i = 0 , 1 , ... , e − 1 ) {\displaystyle a^{i}(i=0,1,\ldots ,e-1)} はどの2つも p {\displaystyle p} を法として互いに非合同である。よって合同多項式の基本定理から a i ( i = 0 , 1 , ... , e − 1 ) {\displaystyle a^{i}(i=0,1,\ldots ,e-1)} がこの合同方程式のすべての解である。
フェルマーの小定理より、少なくとも n = p − 1 {\displaystyle n=p-1} は a n ≡ 1 ( mod p ) {\displaystyle a^{n}\equiv 1{\pmod {p}}} を満たすので、少なくとも素数を法とする場合には位数は確かに存在し、高々 p − 1 {\displaystyle p-1} であることがわかる。実のところ一般の正の整数を法とする場合についても、位数が存在することがわかるのだが、それは後に示すことにする。 さらに強く、素数を法とするとき、以下の通り位数は p − 1 {\displaystyle p-1} の約数である。
正の整数 N {\displaystyle N} を法として、これに互いに素な数 a {\displaystyle a} の位数を e {\displaystyle e} とおく。このとき、 a n ≡ 1 ( mod p ) ⟺ e | N . {\displaystyle a^{n}\equiv 1{\pmod {p}}\iff e\,|\,N.}
特に素数 p {\displaystyle p} を法とするときは e | p − 1 {\displaystyle e\,|\,p-1} である。
証明 前段の ⇐ {\displaystyle \Leftarrow } は自明なので ⇒ {\displaystyle \Rightarrow } を証明する。
除算の原理に基づいて n = e q + r ( 0 ≦ r < e ) {\displaystyle n=eq+r\ (0\leqq r<e)} とする。これを a n ≡ 1 ( mod N ) {\displaystyle a^{n}\equiv 1{\pmod {N}}} に代入して、
を得る。ここで、 0 < r < e {\displaystyle 0<r<e} とすると、 e {\displaystyle e} の最小性に反するので、 r = 0. {\displaystyle r=0.} したがって、 n = e q {\displaystyle n=eq} であるから、前段の ⇒ {\displaystyle \Rightarrow } が示された。
フェルマーの小定理より p {\displaystyle p} が素数ならば a p − 1 ≡ 1 ( mod p ) {\displaystyle a^{p-1}\equiv 1{\pmod {p}}} であるから 前段より e | p − 1 {\displaystyle e\,|\,p-1} である。これにより定理の主張はすべて証明された。
位数の法則から、次の事実がわかる。
a ( mod N ) {\displaystyle a{\pmod {N}}} の位数が e {\displaystyle e} であるための必要十分条件は
が共に成り立つことである。
証明 必要性は定義からすぐに導かれる。
十分性を証明する。 1つめの条件と位数の法則から、 a ( mod N ) {\displaystyle a{\pmod {N}}} の位数は e {\displaystyle e} の約数である。 a ( mod N ) {\displaystyle a{\pmod {N}}} の位数が e / l , l > 1 {\displaystyle e/l,l>1} であったとすると l {\displaystyle l} の素因数 q {\displaystyle q} をとれば
となり、2つめの条件に反する。
位数の法則の系として、特殊な形の数の素因数、および等差数列上の素数について次のようなことがわかる。
系1 n 2 + 1 {\displaystyle n^{2}+1} の形の数の素因数は 2 もしくは 4 m + 1 {\displaystyle 4m+1} の形をしている。さらに一般に n 2 k + 1 {\displaystyle n^{2^{k}}+1} の形の数の素因数は 2 もしくは m ⋅ 2 k + 1 + 1 {\displaystyle m\cdot 2^{k+1}+1} の形をしている。
p {\displaystyle p} が n 2 k + 1 {\displaystyle n^{2^{k}}+1} の奇数の素因数ならば n 2 k ≡ − 1 ( mod p ) {\displaystyle n^{2^{k}}\equiv -1{\pmod {p}}} であるから2乗して
であることがわかる。したがって定理 2.2.2 の前段より n ( mod p ) {\displaystyle n{\pmod {p}}} の位数は 2 k + 1 {\displaystyle 2^{k+1}} の約数である。しかし n 2 k ≡ − 1 ( mod p ) {\displaystyle n^{2^{k}}\equiv -1{\pmod {p}}} かつ p > 2 {\displaystyle p>2} だから n 2 k ≢ 1 ( mod p ) {\displaystyle n^{2^{k}}\not \equiv 1{\pmod {p}}} であるから n ( mod p ) {\displaystyle n{\pmod {p}}} の位数は 2 k + 1 {\displaystyle 2^{k+1}} でなければならない。よって定理 2.2.2 の後段より p ≡ 1 ( mod 2 k + 1 ) {\displaystyle p\equiv 1{\pmod {2^{k+1}}}} である。
系2 p {\displaystyle p} を素数とする。 n p − 1 + n p − 2 + ⋯ + 1 {\displaystyle n^{p-1}+n^{p-2}+\cdots +1} 形の数の素因数は p {\displaystyle p} もしくは a p + 1 {\displaystyle ap+1} の形をしている。
q {\displaystyle q} が n p − 1 + n p − 2 + ⋯ + 1 {\displaystyle n^{p-1}+n^{p-2}+\cdots +1} の素因数ならば n p − 1 ≡ ( n − 1 ) ( n p − 1 + n p − 2 + ⋯ + 1 ) ≡ 0 ( mod q ) {\displaystyle n^{p}-1\equiv (n-1)(n^{p-1}+n^{p-2}+\cdots +1)\equiv 0{\pmod {q}}} すなわち
である。したがって定理 2.2.2 の前段より n ( mod q ) {\displaystyle n{\pmod {q}}} の位数は p {\displaystyle p} の約数、すなわち 1 または p {\displaystyle p} である。 n ( mod q ) {\displaystyle n{\pmod {q}}} の位数が 1 ならば n ≡ 1 ( mod q ) {\displaystyle n\equiv 1{\pmod {q}}} より
となるから、 q = p {\displaystyle q=p} でなければならない。 n ( mod q ) {\displaystyle n{\pmod {q}}} の位数が p {\displaystyle p} ならば定理 2.2.2 の後段より q ≡ 1 ( mod p ) {\displaystyle q\equiv 1{\pmod {p}}} である。
ここから、
あるいは
といった形の数を考えることで 任意の自然数 n {\displaystyle n} に対し m ⋅ 2 n + 1 {\displaystyle m\cdot 2^{n}+1} の形の素数が無限に多く存在し、任意の素数 p {\displaystyle p} に対し a p + 1 {\displaystyle ap+1} の形の素数が無限に多く存在する ことがわかる。
また、系1から、特に素数が無限に多く存在することの証明3でふれたフェルマー数 F k = 2 2 k + 1 {\displaystyle F_{k}=2^{2^{k}}+1} の素因数は m × 2 k + 1 + 1 {\displaystyle m\times 2^{k+1}+1} の形でなければならないことがわかる(実は平方剰余の理論から、さらに強く m ⋅ 2 k + 2 + 1 {\displaystyle m\cdot 2^{k+2}+1} の形でなければならないこともわかる)。素数が無限に多く存在することの証明3でも述べたようにフェルマー数はどの2つも互いに素であるから、 F n − 1 , F n , F n + 1 , F n + 2 , ... {\displaystyle F_{n-1},F_{n},F_{n+1},F_{n+2},\ldots } の素因数を考えることにより、やはり任意の自然数 n {\displaystyle n} に対し m ⋅ 2 n + 1 {\displaystyle m\cdot 2^{n}+1} の形の素数は無限に多く存在することが導かれる。
位数については、次の定理も成り立つ。
法 N {\displaystyle N} に関して、 a {\displaystyle a} の位数が e {\displaystyle e} のとき、 a k {\displaystyle a^{k}} の位数は、 E = e gcd ( k , e ) {\displaystyle E={\frac {e}{\gcd(k,e)}}} である。
証明 gcd ( k , e ) = d , k = k ′ d , e = E d {\displaystyle \gcd(k,e)=d,\,k=k'd,e=Ed} とおけば、 ( k ′ , E ) = 1 {\displaystyle (k',E)=1} である。
位数の法則より ( a k ) x ≡ 1 ⟺ a k x ≡ 1 ( mod N ) ⟺ e | k x ⟺ E | k ′ x {\displaystyle (a^{k})^{x}\equiv 1\iff a^{kx}\equiv 1{\pmod {N}}\iff e\,|\,kx\iff E\,|\,k'x} である。 ( k ′ , E ) = 1 {\displaystyle (k',E)=1} であるから、定理 1.6 より、これは E | x {\displaystyle E\,|\,x} と同値である。 よって a k {\displaystyle a^{k}} の p {\displaystyle p} を法とする位数は E {\displaystyle E} である。
また、次の定理も位数に関する事実として重要である。
i = 1 , 2 , ... , k {\displaystyle i=1,2,\ldots ,k} に対し a i ( mod N ) {\displaystyle a_{i}{\pmod {N}}} の位数を e i {\displaystyle e_{i}} とする。 e i {\displaystyle e_{i}} がどの2つも互いに素ならば、 ∏ i = 1 k a i ( mod N ) {\displaystyle \prod _{i=1}^{k}a_{i}{\pmod {N}}} の位数は ∏ i = 1 k e i {\displaystyle \prod _{i=1}^{k}e_{i}} に一致する。
証明 E = ∏ i = 1 k e i = e j m j ( j = 1 , 2 , ... , k ) {\displaystyle E=\prod _{i=1}^{k}e_{i}=e_{j}m_{j}(j=1,2,\ldots ,k)} とおく。つまり m j = ∏ 1 ≤ i ≤ k , i ≠ j e i {\displaystyle m_{j}=\prod _{1\leq i\leq k,i\neq j}e_{i}} である。
より ∏ i = 1 k a i ( mod N ) {\displaystyle \prod _{i=1}^{k}a_{i}{\pmod {N}}} の位数は E = ∏ i = 1 k e i {\displaystyle E=\prod _{i=1}^{k}e_{i}} の約数である。
ここで定理 2.2.2' を用いて位数が正確に E {\displaystyle E} に一致することを示す。まず j = 1 , 2 , ... , k {\displaystyle j=1,2,\ldots ,k} を1つとって、さらに e j {\displaystyle e_{j}} の素因数を1つとり、それを q {\displaystyle q} とする。
であるが。ここで i ≠ j {\displaystyle i\neq j} とすると、仮定より gcd ( e i , e j ) = 1 {\displaystyle \gcd(e_{i},e_{j})=1} だから e i {\displaystyle e_{i}} は q {\displaystyle q} で割り切れない。よって e i {\displaystyle e_{i}} は E / q {\displaystyle E/q} の約数であるから a i E / q ≡ 1 ( mod N ) {\displaystyle a_{i}^{E/q}\equiv 1{\pmod {N}}} である。したがって
一方、やはり仮定より e i {\displaystyle e_{i}} はどの2つも互いに素だから gcd ( e j , m j ) = 1 {\displaystyle \gcd(e_{j},m_{j})=1} である。よって e j {\displaystyle e_{j}} は E / q = m j ( e j / q ) {\displaystyle E/q=m_{j}(e_{j}/q)} を割り切らない。よって
q {\displaystyle q} は E {\displaystyle E} の素因数から任意に取れるから定理 2.2.2' より ∏ i = 1 k a i ( mod N ) {\displaystyle \prod _{i=1}^{k}a_{i}{\pmod {N}}} の位数は E {\displaystyle E} に一致する。

自然数 p > 1 {\displaystyle p>1} について、 p {\displaystyle p} が素数 ⟺ ( p − 1 ) ! ≡ − 1 ( mod p ) . {\displaystyle \iff (p-1)!\equiv -1{\pmod {p}}.}
証明 1 p {\displaystyle p} は素数なので、 1 ≦ m < p {\displaystyle 1\leqq m<p} なる m {\displaystyle m} は p {\displaystyle p} と互いに素。したがって、定理 1.8 より、
m , 2 m , 3 m , ⋯ ( p − 1 ) m {\displaystyle m,2m,3m,\cdots (p-1)m} は全て p {\displaystyle p} で割った余りが異なるので、 m n ≡ 1 ( mod p ) {\displaystyle mn\equiv 1{\pmod {p}}} なる n {\displaystyle n} が存在する。
このとき、 n = m {\displaystyle n=m} とすると、 m 2 ≡ 1 ⟺ ( m − 1 ) ( m + 1 ) ≡ 0 ( mod p ) ⋯ ( 1 ) {\displaystyle m^{2}\equiv 1\iff (m-1)(m+1)\equiv 0{\pmod {p}}\ \cdots (1)}
すなわち、 ( m − 1 ) ( m + 1 ) {\displaystyle (m-1)(m+1)} は素数 p {\displaystyle p} で割り切れるので、定理 1.12 より m − 1 {\displaystyle m-1} が p {\displaystyle p} で割り切れる、または m + 1 {\displaystyle m+1} が p {\displaystyle p} で割り切れるはずである。よって、
( 1 ) ⟺ m − 1 ≡ 0 ∨ m + 1 ≡ 0 ( mod p ) {\displaystyle (1)\iff m-1\equiv 0\vee m+1\equiv 0{\pmod {p}}}
1 ≦ m < p {\displaystyle 1\leqq m<p} なので、
m = 1 ∨ m = p − 1 {\displaystyle m=1\vee m=p-1}
以上をまとめると、 m = n ⇒ m = 1 ∨ p − 1 {\displaystyle m=n\Rightarrow m=1\vee p-1} となる。対偶を取って、
⟺ m ≠ ∧ m ≠ p − 1 ⇒ m ≠ n {\displaystyle \iff m\neq \wedge m\neq p-1\Rightarrow m\neq n}
よって、 m n = 1 {\displaystyle mn=1} となるような組を p − 3 2 {\displaystyle {\frac {p-3}{2}}} 個作ることによって、
( p − 1 ) ! ≡ 1 p − 3 2 ⋅ 1 ⋅ ( p − 1 ) ≡ 1 ⋅ 1 ⋅ ( − 1 ) ≡ − 1 ( mod p ) {\displaystyle {\begin{aligned}(p-1)!&\equiv 1^{\frac {p-3}{2}}\cdot 1\cdot (p-1)\\&\equiv 1\cdot 1\cdot (-1)\\&\equiv -1{\pmod {p}}\end{aligned}}}
次に、 p {\displaystyle p} が素数でない ⟺ ( p − 1 ) ! ≢ − 1 ( mod p ) {\displaystyle \iff (p-1)!\not \equiv -1{\pmod {p}}} を証明する。
まず、 p = 4 {\displaystyle p=4} のとき、 ( 4 − 1 ) ! = 6 ≡ 2 ≢ − 1 ( mod p ) {\displaystyle (4-1)!=6\equiv 2\not \equiv -1{\pmod {p}}} であるから、定理は成り立つ。
p > 4 {\displaystyle p>4} のとき、 p {\displaystyle p} は合成数なのだから、 p = a b {\displaystyle p=ab} と表せる。もちろん、 a , b ≦ p − 1 {\displaystyle a,b\leqq p-1}
a ≠ b {\displaystyle a\neq b} ならば、 ( p − 1 ) ! = ( p − 1 ) ( p − 2 ) ⋯ 2 ⋅ 1 {\displaystyle (p-1)!=(p-1)(p-2)\cdots 2\cdot 1} は、 a , b {\displaystyle a,b} を因数に持つので ( p − 1 ) ! {\displaystyle (p-1)!} を割り切る。したがって、 ( p − 1 ) ! ≡ 0 ( mod p ) {\displaystyle (p-1)!\equiv 0{\pmod {p}}} となる。
a = b {\displaystyle a=b} ならば、 p > 4 {\displaystyle p>4} より、 2 < a {\displaystyle 2<a} となる。 ( p − 1 ) ! {\displaystyle (p-1)!} は a {\displaystyle a} を因数として含む。また、
2 < a ⇒ 2 a < a 2 ⟺ 2 a < a b ⟺ 2 a < a b ⟺ 2 a < p ⟺ 2 a ≦ p − 1 {\displaystyle {\begin{aligned}2<a&\Rightarrow 2a<a^{2}\\&\iff 2a<ab\\&\iff 2a<ab\\&\iff 2a<p\\&\iff 2a\leqq p-1\\\end{aligned}}}
したがって、 ( p − 1 ) ! = ( p − 1 ) ⋯ 2 a ⋯ a ⋯ 2 ⋅ 1 {\displaystyle (p-1)!=(p-1)\cdots 2a\cdots a\cdots 2\cdot 1}
となり、 a 2 = a b = p {\displaystyle a^{2}=ab=p} で割り切れる。
ゆえにどちらの場合も、 p {\displaystyle p} が素数でない ⟺ ( p − 1 ) ! ≡ 0 ≢ − 1 ( mod p ) {\displaystyle \iff (p-1)!\equiv 0\not \equiv -1{\pmod {p}}}
以上より同値であることが分かり、ウィルソンの定理が証明された。
証明 2 次に、 p {\displaystyle p} が素数でない ⟺ ( p − 1 ) ! ≢ − 1 ( mod p ) {\displaystyle \iff (p-1)!\not \equiv -1{\pmod {p}}} の証明は上記の通り。
p {\displaystyle p} が素数のときフェルマーの小定理より合同式 X p − 1 − 1 ≡ 0 ( mod p ) {\displaystyle X^{p-1}-1\equiv 0{\pmod {p}}} は解 1 , 2 , ... , p − 1 {\displaystyle 1,2,\ldots ,p-1} を持つ。よって合同多項式の基本定理より
となるが、 X p − 1 − 1 , ( X − 1 ) ( X − 2 ) ⋯ ( X − ( p − 1 ) ) {\displaystyle X^{p-1}-1,(X-1)(X-2)\cdots (X-(p-1))} は共に最高次の係数が1の p − 1 {\displaystyle p-1} 次多項式なので、 g ( X ) ≡ 1 ( mod p ) {\displaystyle g(X)\equiv 1{\pmod {p}}} つまり
である。 X = 0 {\displaystyle X=0} を代入し
となることがわかる(一番右の合同式は p {\displaystyle p} が奇数のときは ( − 1 ) p − 1 = 1 {\displaystyle (-1)^{p-1}=1} から、 p = 2 {\displaystyle p=2} のときは − 1 ≡ 1 ( mod 2 ) {\displaystyle -1\equiv 1{\pmod {2}}} から)。
フェルマーの小定理と異なり、ウィルソンの定理は素数であることの必要十分条件をあらわしている。しかし、この定理を大きな数の素数判定に用いることは実用的ではない。というのは階乗を高速に計算する方法が知られていないからである。