お久しぶりです。
今日のテーマは、平方剰余の相互法則の証明についてです。
平方剰余の相互法則を最初に証明したのはガウスです。
彼はこの定理を「黄金定理」と呼ぶほど大切にしており、生前に6つ、没後に発表されたものも含めて7つの異なる証明を与えました。これらは「第Ⅰ証明」から「第Ⅶ証明」と呼ばれています。
このブログでも以前から、平方剰余の相互法則に関する話題を取り上げてきました。
たとえば、証明に関しては
などです。
私自身もこの定理が好きで、特に類体論との関わりから第Ⅵ証明を中心に勉強してきました。
一方で、それ以外の証明にはあまり注意を払っておらず、以前に読んだときもどうも腑に落ちない部分が多かったのです。
しかし最近になって、「どうせ一度の人生だし、全ての証明を理解してみたい」と思い立ち、改めて読み直してみました。すると、一度理解してしまえば案外わかりやすく、しかもとても面白いことがわかりました。
なかでも 第Ⅲ証明 は、そのシンプルさからウェブ上でも多く解説されています。そのため、自分が取り上げる必要はないと思っていたのですが、実際に理解してみると「これは面白い!」と感じる部分がありました。その魅力をぜひ紹介したいと思います。
というわけで、今回のブログでは 平方剰余の相互法則の第Ⅲ証明 の概略を紹介します。
正確に言うと、ここで扱うのはガウスの第Ⅲ証明そのものではなく、後に平易化された証明です。
参考にしたのはこちらの本です:
平方剰余の相互法則とは
基本的なところからおさらいしたいと思います。
素数 を法とする合同式
に対して、整数解 が存在するとき、
は
の平方剰余であるといいます。逆に解
が存在しないとき、
は
の平方非剰余であるといいます。
これらのことをより簡便に表現するのが次で定義されるルジャンドル記号です:
ここで2つの相異なる奇素数 を持ってきて、対称的なルジャンドル記号を考えます:
これらの定義は
という合同式に解があるかどうかなので、法が異なる2つの合同式の間には何の関係もないように思えます。
しかしながら、数学の世界は面白いもので、次のような美しい関係が成り立ちます。
右辺が少し気持ち悪い人は、相異なる奇素数 の少なくとも1つが4n+1型であるときに
が成り立つとしてもいいでしょう。これは極めて綺麗な等式ですね。
証明のアイデア「格子点を数える」
証明のアイデアは、長方形内の格子点の個数を数えるというものです。
奇素数 に対して、4点
を頂点に持つ長方形を考えます。この長方形の(境界を含まない)内側で「XY座標がどちらも整数であるような点(以下、格子点)」の個数を2通りの方法で数えましょう。

①1つめはシンプルに数えるというものですが、 の範囲の格子点
の数は

となります。
②もう一つは、直線
を引いて考えるというものです。この直線は先ほどの長方形の対角線になりますね。

さて、 は素数なので、この直線の上には格子点は存在しません。
しかしながら、
したがって、格子点は直線の下の三角形か、直線の上の三角形の上のいずれかの内部に存在します。

よって、格子点の個数には

の関係が成り立ちます。
最後のひと押しですが、直線の下の三角形内の格子点の個数を用いると、ルジャンドル記号が次のように得られます(ここが証明のキーポイントなので次節で詳しく説明します):

また、同様に直線の上の三角形内の格子点の個数から

が得られます。
以上により

が得られ、これが平方剰余の相互法則となります。
「え、こんなんでいいの!?」
と思うような証明ですが、大変面白いですね!!
キーポイントは、三角形内の格子点の個数を使ってルジャンドル記号が書けるという式

ですね。これがあるからこそ格子点の個数を数えるという発想に至るわけです。
これが成り立つ仕組みについて考えていきたいと思います。
具体例による式 (2) の確認
なお、今回の例として出した図

は、相異なる奇素数を とした例となっています。
直線の下の三角形の格子点の個数は

なので

となりますが、これは
の結果と一致します。
確かに、式 が成り立っていることが確認できますね!
証明のキーポイントとガウスの補題
記事の最後に、証明のキーポイントである

を解説したいと思います。
証明の細部を追うのは面倒なので、今回の記事では大雑把にどういう理屈で示せるのかという概略に留めます。
(詳しくは参考文献の書籍「ガウスの黄金定理」を参照ください。)
式 は以下の3ステップで示せます。
ステップ1:
対角線 の下の格子点の個数は

で表されます(理屈はこの後説明)。
記号 はあの有名なガウス記号です。実数
に対して、
を超えない最大の整数を
で表します。
の整数部分といってもよいでしょう。
なお、式 のガウス記号の中身
はただの分数です。ルジャンドル記号が似たような形なので紛らわしいですね・・・。
式 が成り立つ理由を説明します。まず、適当に
を1つ選び、直線
以下の格子点の個数を数えます。

となります。これを で足し合わせることで、下の三角形内の格子点の個数、すなわち式
が得られます。
ステップ2:
ステップ2は「ガウスの補題」と呼ばれる定理です。
を で割るとき、あまりが
より大きい数の個数を
とすると
が成り立つ。
「いったいなんだこの定理は!?」と思うかもしれませんが、これはフェルマーの小定理
の証明の発展系だと思うとよいので、フェルマーの小定理の証明を思い出しましょう。
を で割ったあまりの集合と
が等しいことから示されます。
つまり、最初の集合をすべて掛けたものと、二つ目の集合をすべて掛けたものが等しいことより
が成り立ちます。両辺に の逆元を掛けることでフェルマーの小定理を得ます。
さて、これと同じことを半分の集合
に対して実行したのがガウスの補題だと思えます。
より大きい数からなる残りの集合
は、法 のもとで
のように表すことができます( に対して
とおけばよい)。つまり、
の元にマイナスをつけたものが
だというわけですね。
さて、 の元を1つずつ
に掛けて得られる
を考えます。これらは法 のもとで
に属するか、
に属するかのいずれかです。
に属する数の個数が
というわけです。
ここで、 に属する場合は
の表現をして
倍することで
の元にすることができます。
これによって、 の元を列挙することができて、なおかつ、
倍の個数は
に一致します。つまり
が成り立ちます。両辺に の逆元を掛けることで
が得られます。また、オイラーの規準
によって
が得られます。これが目的の合同式でした。
ステップ3:
ステップ1で得られたガウス記号がたくさん出てくる数
とステップ2で登場したガウスの補題で登場する指数
の間に
が成り立つというものです。ステップ3の証明が一番難しいのですが、思い切って解説をカットします。
mod 2で等しければ、 の指数として考えたときの結果が変わりません。したがって

となり、目的の式が証明できたことになります。
以上で今回の記事は終わりです。最後の部分はなかなか難しかったと思いますが、格子点を数えることを通して平方剰余の相互法則が証明できてしまう という、第Ⅲ証明の面白さを感じてもらえれば幸いです。
最後まで読んでくださってありがとうございます!