スポンサーリンク

1が素数でないのはなぜ?素因数分解定理の証明

代数学

本記事の内容

本記事は「なぜ1が素数に含まれないのか?」ということと「素因数分解定理」および「素因数分解の一意性」について解説する記事です。

本記事を読むに当たり、素数について知っている必要があるため、以下の記事も合わせてご覧ください。

素因数分解定理

素因数分解は中学数学で学習する内容です(今もそうかは分かりませんが、筆者のときはそうでした)。
故に、「素因数分解?知ってるよ。」という方が大半だと思います。

しかし、「なぜ素因数分解ができるの?」ということまで踏み込んだ話はされていなかったはずです。
経験上、というより中学生で習う以上、概念自体は難しいものではありませんが、「そもそもなぜ可能なのか?」ということを考えてみようと思います。

言葉のお話

素因数

正の整数aの約数pが素数であるとき、このpa素因数という。

素因数分解の例

問題です。

問題
284を素因数分解せよ。

答えは284=22×71です。

確かに、計算すればこのように素数の積に分解することができますし、これがどんな合成数に対しても同様なことができるということは直感的に分かると思います。

その直感が数学的に正しいと証明するのがこの記事です。

素因数分解定理の明示

素因数分解定理を一言で言えば、

合成数は重複を許して素数の積に分解することができ、かつその分解の仕方は唯一つである。

です。

ここで、合成数とは以下でした。

合成数

nが正の整数で、1およびn以外にも正の約数をもつとき、n合成数という。

後述しますが、素数には1が含まれていないことが素因数分解には一意性が担保されている理由の一つです。

定理0.(素因数分解定理)

合成数は重複を許して素数の積に分解することができる。また、その分解は一意的である。すなわち、aが正の整数であれば、素数p1,,ptが重複を許して存在し、 a=p1pt と書くことができる。ただし、a=1の場合はt=0と解釈する。また、p1,,ptは順序を除いて一意的である。

素因数分解定理の証明

では、証明に入ります。

定理0.(素因数分解定理)の証明

合成数に対する数学的帰納法で証明します。

a=4のとき

このとき、4=2×2と分解されるため、成り立ちます。

「いきなりa=4かよ?」と思うかもしれませんが、合成数を小さい順にx1,x2,,xk,と並べたとき、4は最小の合成数であるため、x1=4です。
つまり、数学的帰納法の最初は「最小の合成数」に対して議論することになります。
したがって、a=4の場合を考えるのです。

よく見る数学的帰納法の書き方に準じれば、合成数を小さい順にx1,x2,,xk,と並べたとき、k=1の場合を証明したことになります。

②ある合成数aよりも小さい合成数については主張が正しいと仮定

ある合成数aまでは主張が成り立ったとします。
すなわち、aよりも小さい合成数に関しては定理が正しいと仮定します。

②-1. 分解の可能性の証明

まず、そもそも分解ができるのか?ということを証明します。
aは合成数ですから、1a以外にも正の約数を持ちます。
したがって、
(1<b<a) (1<c<a) s.t. a=bc
です。
このとき、

  1. bcも素数
  2. bは素数でcは合成数
  3. bは合成数でcは素数
  4. bcも素数

のいずれか1つが成り立ちます。

  1. bcも素数であるとき
    今、a=bcであるので、合成数aについても素数の積で分解することができます。
  2. bは素数でcは合成数であるとき
    1<c<aであり、今「aより小さい合成数については主張が正しいと仮定」しているため、cも素数の積で分解することができます。
    したがって、aは素数の積で分解することができます。
  3. bは合成数でcは素数であるとき
    2.と同様で、2.におけるbcの役割を交換すれば良いため、この場合もaは素数の積で分解することができます。
  4. bcも合成数であるとき
    2.および3.の場合を合わせればOKです。
    1<b,c<aで、帰納法の仮定からbcも素数の積で分解することができるため、aは素数の積で分解することができます。

したがって、任意の合成数aは素数の積で分解することができます。

②-2. 分解が重複を含めて一意的であることの証明

合成数aを以下の2パターンで素数の積に分解できたとします。
a=p1p2pn=q1q2qn
ここで、素数piの個数とqiの個数が一致していますが、もし仮に一致しなければ、p1p2pn=q1q2qnとはなりえません。

次の事実を使います。

定理1.

pを素数、a1,a2,,anZとする。このときp|(a1a2an)ならば、pai (1in)のうち少なくとも1つを割り切る。

定理1.の証明は【代数学の基礎シリーズ】初等整数論編 その7を御覧ください。

定理1.を使うと、p1p2pnは素数q1で割り切れる為p1,p2,,pnの中で少なくとも1つはq1で割り切れます。
すなわち、
(1i<n) s.t. q1|pi
です。
今、p1q1で割り切れたとしましょう。
すると、q1は素数ですから、p1=q1です(素数だからそれ以上割れない)。
したがって、
p2pn=q2qn
です。
ここで、
b=p2pn=q2qn
とすれば、b<aですから、帰納法の仮定からこれら2つの分解は一致しています。
したがって、証明完了です。

ここで、aを素因数の積に分解したとき、その中で等しいものを一つのベキにまとめて
a=pe11pe22pekk
と書くことができます。
ただし、p1,,pkは相異なる素数です。
また、aの素因数はp1,,pkですべてであることもわかります。

定理0.(素因数分解定理)の証明終わり

素因数分解は強力です。

なぜ強力なのか?という話ですが、素因数分解定理が成り立つことで、個人的に嬉しいと思うことを紹介します。

本質的に約数をすべて列挙したことになる。

正の整数aを素因数分解して
a=pe11pe22pekk
と書いたとしましょう。
このとき、ベキを分解して
a=p1p2pn
と書けます。
ただし、p1,,pnは重複を許します。
このとき、p1,,pnからpiを好きなだけ選んできます。
例えばn=5として
a=p1p2p3p4p5
と書いたとして、p2,p4,p5を選びそれらの積p2p4p5を考えると、p2p4p5aの約数の1つです。
この操作を繰り返し行えば約数のすべてを知ることができます。

最初に挙げた問題を例に取れば、
284=22×71
ですから、
284=2×2×71
と書き直して、p1=2p2=2p3=71とします。
故に約数の個数は6個とわかります。
そして約数も
p1=p2, p3, p1×p2, p1(=p2)×p3, p1×p2×p3, 1
により
1, 2, 4, 71, 142, 284
と分かるわけです。

整数の積に関する分解の最小単位だから。

正の整数aを素因数分解して
a=pe11pe22pekk
と書いたとしましょう。
p1,p2,pkは相異なる素数であり、素数は1と自身以外で割り切れない為、この表現以上にpiを積の形で分解することができません。
つまり、pi=qs×qtというようにさらなる分解をすることができません。
そういう意味で、「整数の積において最小単位である」といえます。

ある正の整数が与えられたときはその素因数を考えるというある種の「1つのものさし」が得られたと表現しても良いでしょう。

結局の所何が言いたいか、というと整数を考えるときは(一概には言えませんが)素因数を考えるだけで基本的には良いということになるのです。

なぜ1は素数に含まれないのか?

一言で言えば、

素因数分解の一意性が成り立たなくなるから。

です。
最初に挙げた問題を例にとります。
1が素数出ない世界(通常の世界)では
284=22×71
と素因数分解できます。

もし仮に、1も素数であるような世界を考えたとすると、1はどんな整数に掛けても値は変わりません。
つまり、
(nZ) n1=1n=n
ということです。
故に、
284=22×71=1×22×71=1×1×22×71=1×1×1×22×71=1×1×1×1×22×71
のすべてが素因数分解となってしまいます。
となると、ある整数が与えられたときの素因数分解は一意性が担保されなくなってしまいます。
平たく言えば、この世界で素因数分解を考えたとき
a=pe11pe22pekk
と書いたとしましょう。
このとき、piのうちのどれかが1である可能性を追加で考える必要が出てきます。
先に述べた通り1は積について特別ですので、pi1が含まれていようが含まれていなかろうが値は変わらないのにも関わらず余分に考えるパターンが増えてしまうということになるのです。

素因数分解の応用先例:RSA暗号

RSA暗号は本ブログで以前紹介しました。
詳しくは【代数学の基礎シリーズ】初等整数論編 その1を御覧ください。
サラッと復習すると

  1. 受信者が公開鍵を作る。
    1. 十分大きな2つの素数p,q (pq)を選び、n=pqとして、nからpqを計算することが実用上必要な時間にできない(例えば数百年とか)ようにする。
    2. eφ(n)が互いに素であるような2以上の整数eを求める。 ただし、
      φ(n)=|{iZ|1in,inは互いに素}|
      とします。
    この決めたe,nを公開鍵と呼びます。
  2. 送信者は受信者の公開鍵を取得する。
  3. 暗号化したいメッセージを送信者が公開鍵を使って暗号化し、送信する。
  4. nよりも小さい正の整数Aを送るとします。
    AAe (mod n)となるAを計算します(Aenで割った余りがA)。
    このAを暗号として受信者に送信します。
  5. 受信者が暗号化されたメッセージを受け取る。
  6. 受信者は暗号文を秘密鍵で暗号化する前のメッセージに復号化する。
  7. ed1 (mod φ(n))を満たす正の整数dを求めます。
    このdが暗号を復号化するための鍵、すなわち秘密鍵です。
    すると、A(A)d (mod n)が成り立つため、Aが分かる、ということです。

というようなものでした。
素因数分解は1.に出てきます。
つまり

十分大きな2つの素数p,q (pq)を選び、n=pqとして、nからpqを計算することが実用上必要な時間にできない(例えば数百年とか)ようにする。

の「n=pqとして」の部分です。
n=pqはまさに素因数分解を表わしています。
仮にnが与えられたとしても、これを2つの相異なる素数pおよびqの積に分けるというのが誠に難しいというようなnを選ぶことがセキュリティの高さを担保しているのです。

小話:素因数分解の一意性が成り立たない世界があります。

初等整数論のお話をしているため、本シリーズで考えている数は勿論整数ですが、素因数分解の一意性が成り立つというのは整数の重要な性質です。

整数以外でも素因数分解の一意性が成り立つ世界もある。

整数の世界をちょっと飛び出して、次のような世界を考えます。
Z[1]={a+b1|a,bZ}
このとき、
2=2+1×0,5=5+1×0
により、2,5Z[1]です。
2,5は整数の世界、すなわちZでは素数ですが、Z[1]では素数では有りません。
なぜなら
2=(1+1)(11)5=(1+21)(121)
となるからです。
その代わり、
1±i,1±2i
などが素数となります。
この世界では、実は素因数分解の一意性が成り立ちます。

整数の世界から飛び出して、素因数分解の一意性が成り立たない世界がある。

整数の世界からちょっと飛び出して、次のような世界を考えます。
Z[5]={a+5ib=a+b5|a,bZ}
このとき、6=6+0×5により6Z[5]です。
また、同様にして2,3Z[5]です。
しかしこのとき
6=2×3=(1+5)(15)
となって、素因数分解の一意性が成り立ちません。

皆様のコメントを下さい!

このブログを読んでいただいている方の多くは「数学に興味がある」という方だと思います。
そして、数学科卒だったり数学科に在籍していたり、某か数学と関わりが深い学問を専攻している方だと思います。

数学科卒、数学科在籍の方はなぜ数学科に進学しましたか?
数学科以外の方は、なぜ数学科に進学しなかったのですか?
是非コメントで教えて下さい!

※実は筆者が通っていたのはは数学科ではないです。

今回は「なぜ1が素数に含まれないのか?」ということと「素因数分解定理」および「素因数分解の一意性」について解説しました。
また、素因数分解の応用先としてRSA暗号があることも述べました。
さらに小話として素因数分解の一意性が成り立たない世界があるということも紹介しました。

結局言いたいことは素因数分解は、整数を積で分けたときの最小単位である、ということです。
故に、何か素数を積の単位で考えたいときは、結局は素因数を考えればOKということが素因数分解定理から言えます。

次回は素因数分解定理から得られる事実を数個紹介します。
(2023/3/14追記:合同式に変更します)

乞うご期待!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、「定理〇〇の△△が分からない!」などいただければ全てお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ1週間以内にお答えします。
(難しかったらもう少しかかる∂かもしれませんが…)

初等整数論について、以下の書籍をオススメします!


コメントをする

タイトルとURLをコピーしました