1 相互法則とガウスの補題
相互法則の符号を決めるために、まず法pの剰余を正負に分けて数えます。
補題 1.1 (ガウスの補題).pを奇素数、p∤aとする。m=2p−1とし、a,2a,…,maをそれぞれ法pで1からp−1の範囲の代表元に直したとき、その中で2pより大きいものの個数をμとする。このとき
(pa)=(−1)μ.
証明. 各i=1,…,mに対して、iaと法pで合同であり−p/2<ri<p/2を満たす整数riをとる。p∤aかつ1≤i<pであるからri=0であり、1≤∣ri∣≤mである。ri<0となるiの個数はμに等しい。
1≤i<j≤mに対して∣ri∣=∣rj∣と仮定する。ri=rjならば(i−j)a≡0(modp)であり、p∤aであるからp∣i−jとなる。しかし0<j−i<pであるから、この結論は成り立たない。ri=−rjならば(i+j)a≡0(modp)であり、同様にp∣i+jとなる。しかし0<i+j≤2m−1=p−2<pであるから、この結論も成り立たない。したがって∣r1∣,…,∣rm∣は相異なるm個の整数であり、1,…,mの並べ替えである。
各iについてia≡ri(modp)であるから
amm!≡r1r2⋯rm=(−1)μ∣r1∣∣r2∣⋯∣rm∣=(−1)μm!(modp)が成り立つ。m<pであるからp∤m!であり、m!とpは互いに素である。したがって合同式の両辺をm!で約して
am≡(−1)μ(modp)を得る。m=(p−1)/2であるから、§A4.13 定理 2.1 (オイラーの規準)によりam≡(pa)(modp)である。よって(pa)≡(−1)μ(modp)となる。両辺は1または−1であり、奇素数pは2を割らないから、両辺は整数として等しい。▨
2 第二補充法則
定理 2.1 (第二補充法則).pを奇素数とすると
(p2)=(−1)8p2−1,すなわちp≡±1(mod8)のとき(p2)=1、p≡±3(mod8)のとき(p2)=−1。
証明.m=(p−1)/2とおき、補題 1.1をa=2に適用する。2,4,…,2m=p−1は法pの1からp−1までの代表元である。このうちp/2を超えるものの個数をμとすると、2k>p/2はk>p/4と同値であるから
μ=m−⌊4p⌋=2p−1−⌊4p⌋である。
p=8t+s、s∈{1,3,5,7}と書く。s=1のときμ=2t、s=3のときμ=2t+1、s=5のときμ=2t+1、s=7のときμ=2t+2である。一方、
8p2−1=⎩⎨⎧8t2+2t8t2+6t+18t2+10t+38t2+14t+6(s=1),(s=3),(s=5),(s=7)である。したがって、いずれの場合にもμと(p2−1)/8の偶奇は一致する。補題 1.1により
(p2)=(−1)μ=(−1)(p2−1)/8を得る。四場合の偶奇から、法8による言い換えも従う。▨
3 相互法則本体の証明
定理 3.1 (平方剰余の相互法則).p,qを相異なる奇素数とする。このとき
(qp)(pq)=(−1)2p−1⋅2q−1.同値な言い換え:p≡q≡3(mod4)のときに限り符号が反転する((qp)=−(pq))。それ以外の場合(p,qの少なくとも一方が≡1(mod4))は(qp)=(pq)。
証明.m=(p−1)/2、n=(q−1)/2とおき、
A=i=1∑m⌊piq⌋,B=j=1∑n⌊qjp⌋と定める。
各i=1,…,mに対して、iqの法pにおける1からp−1までの代表元をsiとし、si>p/2のときεi=1、si<p/2のときεi=0とする。p∤iqであるからsi=p/2とはならない。さらに
ri=si−εipとおくと、riはiqの絶対値最小代表である。1≤i<j≤mに対して∣ri∣=∣rj∣ならばiq≡±jq(modp)である。p∤qであるからp∣i−jまたはp∣i+jとなるが、0<j−i<pかつ0<i+j<pであるため、どちらも成り立たない。したがって∣r1∣,…,∣rm∣は1,…,mの並べ替えである。各iについて
iq=p⌊piq⌋+si=p(⌊piq⌋+εi)+riである。pとqは奇数であるから、この等式をi=1,…,mについて加えて法2で見ると
i=1∑mi≡A+i=1∑mεi+i=1∑mri(mod2)となる。ri≡∣ri∣(mod2)であり、∣ri∣は1,…,mの並べ替えであるから、∑ri≡∑i(mod2)である。よって
A≡i=1∑mεi(mod2)を得る。補題 1.1により
(pq)=(−1)Aである。pとqを入れ替えた同じ計算から
(qp)=(−1)Bを得る。
1≤i≤m、1≤j≤nを満たす格子点(i,j)の集合を考える。iq/pは整数でなく、iq/p<q/2であるから、⌊iq/p⌋はpj<qiを満たすjの個数である。したがってAは直線qx=pyの下側にある格子点の個数である。同様にBはqi<pjを満たす格子点、すなわち直線の上側にある格子点の個数である。
境界上に格子点があると仮定するとqi=pjとなる。相異なる素数p,qは互いに素であるからp∣iかつq∣jとなるが、1≤i≤(p−1)/2<pかつ1≤j≤(q−1)/2<qであることに反する。よって長方形内の各格子点は直線の上側または下側のちょうど一方にあり、
A+B=mn=2p−12q−1である。以上から
(qp)(pq)=(−1)A+B=(−1)2p−12q−1を得る。指数が奇数となるのはp≡q≡3(mod4)の場合に限るため、符号についての言い換えも従う。▨
4 計算例
例 4.1.1847は奇素数であり、365=5⋅73である。§A4.13 系 2.4 (乗法性)により
(1847365)=(18475)(184773)と分ける。
5と1847は相異なる奇素数であり、5≡1(mod4)であるから、定理 3.1により符号を変えずに反転することができる。1847≡2(mod5)と定理 2.1から
(18475)=(51847)=(52)=−1を得る。
73と1847は相異なる奇素数であり、73≡1(mod4)であるから、同様に
(184773)=(731847)=(7322)=(732)(7311)となる。73≡1(mod8)であるから定理 2.1により(732)=1である。
11と73は相異なる奇素数であり、73≡1(mod4)であるから
(7311)=(1173)=(117)である。7と11は相異なる奇素数であり、両方とも法4で3に合同であるから
(117)=−(711)=−(74)となる。7≡3(mod4)であるから§A4.13 系 2.2 (第一補充法則)により(7−1)=−1である。したがって、乗法性を用いると
−(74)=(7−1)(74)=(7−4)=(73).3と7は相異なる奇素数であり、両方とも法4で3に合同であるから
(73)=−(37)=−(31)=−1.よって(7311)=−1であり、
(184773)=1⋅(−1)=−1を得る。最終的に
(1847365)=(−1)(−1)=1である。したがって、§A4.13 定義 1.2により合同方程式x2≡365(mod1847)は解をもつ。
繰り返し二乗法で365923mod1847を計算すると1となる。この計算は§A4.13 定理 2.1 (オイラーの規準)による検算であり、相互法則を用いた判定の証明ではない。