ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

ユークリッド整域の素元分解可能性について自分なりに補足

私が群・環・体の勉強に使っている本を読んでいたら、以前の記事「[環論] ユークリッド整域で陥った詭弁」にも登場しているユークリッド整域において、

0(零元)でも単元でもない任意の元は素元の積に分解できて、それぞれの素元における単元倍の差を除いて一意である

ということが解説されていたのですが、一意性についてはいいとして、分解可能性の証明に足りない部分があると思ったので、自分なりに考えて補足してみます。

そんな、この本の著者様に意見できるほど優れた人間ではないのですが…(汗)


まず、本では元xの高さH(x)の値に注目して、H(x)がどんな値であってもxが0でも単元でもないなら素元分解可能であることから、任意のxについて0でも単元でもないなら素元分解可能であるということを述べようとしています。

ここがまずちょっと難しいですが、すべてのxは必ずなにかしらの自然数H(x)に対応しているわけですから、すべての自然数において対応するxが性質を満たすことがいえれば、すべてのxにおいて性質を満たすことがいえるわけですよ。

厳密に証明しろと言われると、能力がなくて私にはできないですが…。

逆に、すべてのxについて対応する自然数がある性質を満たすとき、すべての自然数がその性質を満たすという論法は一般には正しくありません。
ただし、xから自然数へ対応させる写像が全射であるなら、上の場合と同じ状況になるので、正しいと思います。




そして、H(x)がどんな値であってもxが0でも単元でもないなら素元分解可能であることの証明ですが、これには数学的帰納法を使うと書いてあります。

私が感じたのは、まずここが説明不足です。

この本が真に述べていることは、H(x) = 0, H(x) = 1の場合を別として、H(x) >= 2からの場合、つまりH(x) = 2の場合をスタートに数学的帰納法を始めていると思います。
そこが曖昧になっています。


本に書いてあることをパクりますが、
H(x) = 0の場合、関数Hの定義よりx = 0なので、条件を満たさず除外していいです。

H(x) = 1の場合、乗法の単位元を1とすると
1 = q×x + d および H(d) < H(x)
となるq,dが存在しますが、H(x) = 1よりH(d) = 0なのでd = 0であり、xは1の約元ということになりますが、1は任意の元の約元なのでxも任意の元の約元、つまりxは単元です。
そのため条件を満たさず除外していいです。


H(x) >= 2の場合ですが、ここからが数学的帰納法です。
しかし、本にはドミノ倒しのドミノが倒れるメカニズムしか書いておらず、最初のドミノ、H(x) = 2において性質を満たすことが明記されていません!

ここを指摘したかったのです。
H(x) = 2の場合を述べる前に、ドミノが倒れるメカニズムについては本に記載されているのでパクります。

H(x) > H(y)であるような元yは0でも単元でもないなら素元分解可能であると仮定して、高さがH(x)である元xが0でも単元でもないなら素元分解可能であることを示します。

まずxが素元である場合、自明に素元分解可能です。
xが素元でない場合、この本における素元の定義より単元であるか、x = a×bとなる単元でないa,bで表せるかのどれかですが、
xが0であるか単元であるなら条件を満たさないので除外してよく、そうでない場合はx = a×bですが、aまたはbが0である場合x = a×bが0になってしまうのでa,bは単元でも0でもありません。

そのため関数Hの定義よりH(x) > H(a), H(x) > H(b)となります。
よって仮定より高さがH(a)のaと高さがH(b)のbは、0でも単元でもないなら素元分解可能です。

そうすると、x = a×bもいくつかの素元の積で表せるはずです。
よってxは素元分解可能です。


…あれあれ、これでいくとスタートをH(x) = 0のときにしても「xが0でも単元でもないなら素元分解可能である」ことはx = 0なので満たしてるから、ここからドミノ倒し始めてもいいんじゃないの?????


と、記事を書いている間に考えてしまいました。
たしかにそうですね。

結局、本が正しかったんや…。
著者サマサマでございました。

また壮大な企画倒れを作ってしまいました。
以前もありましたね。


ただし、本の内容にも指摘すべきところはあります。

xが0でも単元でもないなら、素元にむかって分解していくときにH(y) >= 2、つまり最低でも高さが2のyで素元になり分解が終了するという大事なことが記載されていないことです。

実際、H(y) = 2ならyはy×zのように分解された0でも単元でもない元だったので、素元であるか、0でも単元でもないa,bによってy = a×bで表せるかですが、
後者の場合、H(y) > H(a), H(y) > (b)となり、aとbの高さは0か1となります。
しかし、高さが0なら元は0、高さが1なら元は単元であることが証明されていたので、a,bが0でも単元でもないことと矛盾します。
よって後者の場合ではなく、yは必ず素元となります。

分解したときに高さが2を超えて0か1に飛ぶ場合はないのかと疑問が生じますが、分解したy×zは0でも単元でもない元なので、いま述べたとおり高さは0や1になりえません。


このように最低でもH(x) = 2の状態で話は終わるので、H(x) = 0, H(x) = 1の場合とは別にH(x) = 2をスタートとするやり方で証明しても、なんら問題ないと思います。
ただ、本でやっているようにH(x) = 0からスタートして一気に証明しちゃうというやり方のほうがエレガントかもしれません。

でも、参考程度に「最低でもH(x) = 2で分解が終了する」ことを記載してほしかった!
時として使わない、要らない情報かもしれません。

しかし、それを言ってしまえば、もし「0でも単元でもない任意のxが素元分解可能なこと」のみを問題とするのであれば、H(x) = 1ならばxは単元という情報も要らないものです。
もちろん、1をxで割るという新たな発想がもたらすものは「最低でもH(x) = 2で分解が終了する」など色々とあるのですが。


あと、本には「0でも単元でもない任意のxが素元分解可能」みたいに書いてありますが、「任意のxが0でも単元でもないなら素元分解可能」と書いてほしかったですね。

本の書き方だと、あたかもxの範囲が制限されているかのようで、H(x) = 0, H(x) = 1の場合を数学的帰納法に含むという発想が出てきません。


それにしても、「〇〇なら△△」という命題が〇〇でないなら真になるというのも曲者ですよね。
なんでも言えてしまえるという…。
まあ実際なんでも言えてしまえるわけですけどね。

これを数学的帰納法と組み合わせると、よく分からなくなってきます。
n番までは〇〇でもn-1番より下は〇〇という保証がないという場合に、場合分けによってn-1番より下が△△でないなら、△△とは異なるようなn-1番より下が△△であることを使わないような主張をしないといけませんね。(宇宙語)

現に今回の証明でも、高さH(x)が2ならx = a×bとすると矛盾するので、そうではなくてxは素元であるという遠回りではありますが、そういう論法を取っていると思います。



最後に、おまけとして、今回の問題を考える際に思いついた高さH(x)とxの関係をいくつか書いていきます。

まず、x = 0ならH(x) = 0、およびH(x) = 0ならx = 0、これは関数Hの定義です。
(私が読んでいる本では定義ですが、これは一般的には定義とされないようです。ただ定理として成り立つのか、どうなんでしょうか???)

続いてH(x) = 1ならxは単元です。
これは証明は前述(本のパクリ)しました。

逆にxが単元ならH(x) = 1なのかなと予想したのですが、Yahoo!知恵袋であっさり反例を出されてしまいました。

続いてxは0でも単元でもないなら、H(x) >= 2です。
H(x) = 0ならx = 0なのでそうでなく、H(x) = 1ならxは単元なのでそうでないためです。

続いてxは0でも単元でも素元でもないならH(x) > 2です。
xは素元でないため単元であるか、単元でないa,bによってx = a×bと表せますが、xは単元でないためx = a×bであり、aまたはbが0であるとx = 0になってしまうためa,bは0でも単元でもありません。
aは0でも単元でもないため上の定理からH(a) >= 2です。
a,bは0でないため関数Hの定義からH(a×b) >= H(a)です。
関数Hの定義からH(x×y) = H(x)ならyは単元なので、その対偶をとりbは単元でないのでH(a×b) = H(a)ではありません。
以上の3点によりH(x) = H(a×b) > H(a) >= 2すなわちH(x) > 2となります。

最後にH(x) = 2ならxは単元であるか素元です。
上の定理の対偶をとりH(x) > 2でないのでxは0か単元か素元ですが、H(x) = 0でないのでxは0でなく、単元であるか素元となります。


つまりH(x) = 0のところにx = 0が、H(x) = 1のところに単元のxが、H(x) = 2のところに単元と素元のxが、H(x) > 2のところに単元、素元、いくつかの素元の積がすべて分布してる感じですね。

ちなみにy×zのように分解されたyがH(y) = 2ならyは素元であるという定理を先ほど証明しましたが、このときは単元でも0でもないa,bでy = a×bと分解できたとしたら矛盾することから背理法(否定導入)で素元であると結論づけました。

しかし、いま最後に証明したH(x) = 2ならxは単元であるか素元という定理を用いて、H(y) = 2からyは単元か素元であり、y×zのように分解されたyは単元でないので素元である、と証明することもできますね。



というわけで、最初めちゃめちゃ強気なのに、どんどん混乱していくという…
ようするに企画倒れだったんですが、色々と考えさせられて、いくつか発見がありました。

実は本記事の執筆中も色々と考えこんでいまして、なんとビックリ、6時間半ぐらい執筆してました。
最長記録じゃないでしょうか。自分でもビックリ。

オールナイトですね。
まあ夏休みで生活リズムが狂っているのでそこは負担じゃなかったんですが…。

ただ、もうちょっとスピード速く考えられる頭が欲しい。


あと、姉妹ブログの記事「Yahoo!知恵袋で長丁場」でも書きましたが、群・環・体の知識がある(もしくは質問見てから考えてる?)回答者の方がいらっしゃいまして、この前に大変お世話になったのと、今回も「xが単元ならH(x) = 1」の反例を見せていただけました。

Yahoo!知恵袋サマサマですね。
学校の数学の先生だと、もはや分からないという事例が多いんですよね~。

諸兄、コメントにてご指摘もお待ちしております。

tag: 勉強 数学 群環体 ユークリッド 素数 証明 約数 帰納法 考察 写像

コメント

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/511-3d1ce192
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。