ブログ「サイバー少年」

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

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

群・環の同型は同値関係

今日は読み続けている群・環・体の本の、環の章を読み切りました!
最後は、環A,Bが同型なら、環Aが整域なら環Bも整域であるし、環Aが体なら環Bも体であるという定理の証明でした。

同型ならばイメージとしては、同じ構造をしているので当然、整域だとか体だとかの構造は受け継ぐだろうと思いますが、証明しろって言われると、なかなか難しいですね。


証明を本で読みまして、よくよく考えたら確かに、本質的には同じ構造をしていることを使っているんだろうなぁと思わされるのですが、一見した程度ではどういう発想でこうなったのか理解できません。

数学できる人は的確に何を言えば証明できるのか考えられるんですかね。
私もそんな人間に憧れます。


さて、その整域や体などの構造がAからBへ受け継がれることの証明は、ここでは語りませんが、本では、AとBが同型なら、逆にBからAへと構造を受け継ぐことも真であると主張しており、
なぜならばAとBが同型なら明らかにBとAが同型であるので、AからBへ構造が受け継ぐのと同様の証明で示されるとしています。

ようは同型というのは、それを表す記号から推測したって、どう考えても同値関係であり、ここでは対称律を用いた、と私は読み解きます。


しかしながら、本の中では明確にふたつの環が同型であることが同値関係であることの証明がなされていません。
そこで考えてみて、証明できたのですが、反射律と推移律を示すことは比較的簡単だったものの対称律だけは難しかった!

対称律を主に書いていきたいと思います。

続きを読む

tag: 数学 勉強 群環体 写像 同値 演算 証明 ブログ「サイバー少年」

商群と演算の両立性と、ときどき正規部分群

私が読んでいる群・環・体の本では、環の章を読んでいるのですが「環RをイデアルIで類別する同値関係は加法、減法、乗法に関してRの元と両立する」と書いていて、ここの減法に関しても両立するというところに注目していただきたいのですが、

加法、減法に関して両立するのはRを群と見なすと、この同値関係はRを正規部分群Iで類別する同値関係になるから、これが加法、減法に関して両立するのは群の章で証明したよね、という説明になっていました。


(なお念のため説明しておくと、同値関係が演算△に関して両立しているとは、aとbが同値、cとdが同値ならa△cとb△dが同値であることを表します。)


しかし、群の章を読み返してみると、加法に関して両立することしか書いておらず、「あれれ?減法はなんで両立してるんだ?」と思ったわけです。

そんでもって少し考えたのですが、「あ、環Rは群と違って加法に関して必ず可換だ」と、思いつきました。

a,b∈Rについてaとbが同値、記号で書けばa~bとはa + (-b) ∈ Iだったのですが、可換律よりa + (-b) = -b + a = -b + (-(-a) ∈ Iなので、-b~-a、対称律より-a~-b、つまりa~bならば-a~-bとなります。

ここで、x,y,a,b∈Rについてx~y,a~bだった場合、x~y,-a~-bとなりますので、加法に関しては両立していたのでx+(-a) ~ y+(-b)、ということで減法に関しても両立していることがわかりました。

要するに、これを環の話だけでなく群の話に還元すると、その群が可換群であれば部分群で類別する同値関係は減法に関しても両立する、ということになります。


しかし、実は可換群でなくても、加法に関して両立しているなら必然的に減法に関しても両立しているということが後の考察により判明しましたので、それに気づくまでの過程を記していきたいと思います。

続きを読む

tag: 数学 群環体 勉強 写像 演算 同値 可換律 証明 イデアル

ユークリッド整域の定義を見直す

またユークリッド整域の話かよ!!!!
もうすでにイデアルの勉強に移っているんですが、ちょっと前にユークリッド整域で判明した事実があったので、今回は軽くですが記しておきます。

記事「ユークリッド整域の素元分解可能性について自分なりに補足」で、x = 0ならH(x) = 0およびH(x) = 0ならx = 0は定義せずとも定理として成り立つだろうかと疑問を書いていました。

結論からいうと定義しなければ定理としては成り立ちません。
ただ、そもそもユークリッド整域において、これが成り立つ必要はありません。

必要なのは「H(a)がすべてのxにおけるH(x)の最小値ならa = 0」です。
これがあればユークリッドの互除法が使える整域になるわけです。

なぜなら、ユークリッド関数のその他の定義により、元a,b(b != 0)について
a = b×q + rかつH(r) < H(b)となる元q,rが存在しますが、これを互除法で繰り返していくと、どんどんH(r)が小さくなっていって、最小値になったときにr = 0となって、もうbをrで割れないということになります。

H(r)が最小値になったときにr = 0でなければ、さらに割れることになってしまうので、それは困るからr = 0を要請しているということです。

しかし、「それは困る」という事態を詳しく見てみると、
もしH(r)が最小値なのにも関わらずr = 0でないとしたら、さらにbをrで割ることができて、新しい余りをr'とするとH(r') < H(r)でありH(r)が最小であることに反するから、r = 0であるしかありえなくて、実はこの定義すら必要なかったわけです。


また、「H(a)がすべてのxにおけるH(x)の最小値ならa = 0」が成り立つなら逆も成り立ちます。
その説明をするには写像の仕組みを論理的に説明できるスキルが必要ですが私には残念ながら能がないので、イメージになってしまいますが、
すべてのxにおいて最小となるH(a)は必ず存在するので、そのときa = 0なわけですから、aとH(a)が対応している、写像なのでaが他のところにも対応していることはない、つまりH(a)はすべてのxにおけるH(x)の最小値です。

そしてa = 0ですからH(0)はすべてのxにおけるH(x)の最小値です。

これがもし「H(a) = 0ならa = 0」とかだと、逆は一般に成り立ちません。
H(x) = 0となるxが存在しているとは限らないので、0とaの対応が保証できないからです。
すべてのxにおけるH(x)の最小値は必ず、なんらかのxと対応しているので保証できます。
論理的に説明するにはどうしたらいいんだろうか…。


ちなみに、

ユークリッド環 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E7%92%B0

を見てみると、整域に元a,b(b != 0)についてa = b×q + rかつG(r) < G(b)を満たす写像Gが導入できるならば、
さらにそれと加えてH(a×b) >= H(a)を満たす写像Hを導入できることがいえるそうです。

H(a×b) = H(a)ならbは単元というのはどこにいったのか分かりませんが、まあ多分、これも定義せずともいえるんでしょう。(適当)

つまり、元a,b(b != 0)についてa = b×q + rかつH(r) < H(b)を満たす写像Hが導入できる整域であれば“ユークリッド整域”と呼んでいいわけですね。


論理というのは不思議ですね。
一を聞いて十を知るという言葉がまさにふさわしい。
ひとつ公理として定めたらめちゃめちゃ色々な定理が湧き出てきます。

恐らく、これでユークリッド整域についての記事は最後になります。
冒頭でも述べたとおり、イデアルの勉強をやっているので、引き続き頑張ります。

tag: 勉強 数学 群環体 ユークリッド 公理 写像 関数

ユークリッド整域における元と高さの関係

先日に書いた記事「ユークリッド整域の素元分解可能性について自分なりに補足」で


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


と記述しました。

「単元と素元~」みたいな言い方をANDと解釈するなら間違いですが、まあORと解釈するなら間違った主張ではないんですけどね。

ただ、たとえばH(x) = 2のところに単元または素元のxが分布しているという主張ですが、これは正しくはH(x) = 2となるxについて、それは単元または素元である、という主張にするべきでした。

前回の言い方だとH(x) = 2となるxが必ず存在するかのような主張となっています。


そして、その他の点でも非常にナンセンスな表現であるということに気が付きました。
後述しますが、まず単元はそんな色んなところに分布してなくて、すべて同じ高さのところにあります。

あと、前述のようにORで解釈するなら間違いではないのですが、この主張を読んだときにイメージするのはH(x) = 2のところに素元となるxがあって、H(x) > 2以降において素元の積のxも含まれてくるという感じだと思います。

そのイメージは間違いですが、主張自体は間違いではないので、たしかに読み手が悪いと言えばそうですが、私の書き方にも問題があると思いました。


それは、1という数、2という数を定数として決定してしまっているところです。
実際は定数は決定せずに、色々な元に対する高さの大小関係だけをイメージしてもらえるような書き方にするほうが自然でした。

事の発端はYahoo!知恵袋で、整数に関数Hを導入したときに、H(x) = |x|ではなくH(x) = 2×|x|とすることも可能である、という指摘を受けたことでした。

このときH(x) = 2のところに単元があって、H(x) >= 4以降に素元などがあり、あとH(x)が奇数であることはありえません。

こんなように、定数はまったく変わってくるわけですが、大小関係は変わりません。
そこで今回は、元による高さの大小関係に着目して判明することを書いていきたいと思います。

続きを読む

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

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

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

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

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

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


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

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

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

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

続きを読む

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

ペアノの公理と特殊な数学的帰納法

今回は、あんまり深く考えないで数学について記事にしようということで、以前の記事で数学的帰納法を使ったときに思ったことを書きます。

あんまり考えて書いていないので、特に新たな発見をしたわけではないのですが、ちょっとしたアイデアとして。


数学的帰納法は、なにも0や1(自然数の最初の数)から始まって1つ後ろの数、その1つ後ろの数というふうにドミノ倒しされるとは限らず、

0や1でない自然数から始まって、1つ後ろでないところの数へとドミノ倒しされることがあります。

数学的帰納法の応用ですね。
我らがWikipediaにも書いてあります。

数学的帰納法 - Wikipedia
https://ja.wikipedia.org/wiki/%E6%95%B0%E5%AD%A6%E7%9A%84%E5%B8%B0%E7%B4%8D%E6%B3%95


そんでもって、数学的帰納法は形式論理で扱うときにどのようになるかというと、自然数に関する公理のひとつとなります。

ペアノの公理というやつで、それの一番最後の公理が数学的帰納法を正当化するための公理となります。

ペアノの公理 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%9A%E3%82%A2%E3%83%8E%E3%81%AE%E5%85%AC%E7%90%86


余談ですが、こういうふうに自然数はどんな性質なんだろうと突き詰めて公理を発見するのではなく、自然数とはこういうものなんだという性質を、神ではない我々が定義することができるというのは、なんか数学の面白さのひとつですよね~。

まあ、私が定義できるほど実力はないのですが…。
ただ、こういう公理主義的な考えの上での数学は、自分で作れるという意味でプログラミングと似ていると思います。

続きを読む

tag: 数学 論理学 論理式 自然数 考察 命題 形式 帰納法

[環論] ユークリッド整域で陥った詭弁

今回も環について知っていないと分からない話をします。

群・環・体の勉強で、特別な環であるユークリッド整域について学び始めました。
とりあえず定義だけ読んだのですが、以下のような定義となります。

なお、本に書いてありましたが、普通の定義より強くしているそうです。

任意の整域(A,+,×)に対してa∈Aを非負整数に対応付ける関数H(x)で次のような条件を満たすものが存在する整域をユークリッド整域と呼びます。

1. H(0) = 0かつH(a) = 0ならa = 0 (0は加法の単位元)
2. a ≠ 0かつb ≠ 0なら、H(a×b) >= H(a)かつH(a×b) = H(a)となるのはbが単元のときのみ

3番目の重要そうな条件もあるのですが、ここでは使わないので省略します。
このH(x)をxの高さと呼びます。

そして、a∈Aとb∈Aの公約元xの中で高さが最大になるものを最大公約元と呼びます。
公約元は普通の環でも存在する概念ですが、最大公約元はユークリッド整域でないと存在しない概念ですね。

そして、aとbの最大公約元が単元であるときaとbは互いに素であるといいます。
つまり互いに素であるというのもユークリッド整域でいえる概念なのですが、私はそれに違和感を覚えたわけです。

続きを読む

tag: 数学 勉強 群環体 素数 証明 約数 論理 ユークリッド

一次不定方程式について調べた

前々回の記事「[環論] 素元と既約元の違いってなんなのよ」および、前回記事「数学ネタは人気が出ないのか…」で書いたとおり、
群・環・体の本を読んでいたら不定方程式にぶち当たったので、最近は群・環・体をやらずに不定方程式について調べていました。

群・環・体の本にも予備知識として不定方程式について解説があったので、それを読んだのと、あと不定方程式は高校一年生のときにやりましたから、数Aの教科書をひっぱりだしてきて読んでみました。

覚えてないからな!!

そこで思ったのですが、本によって不定方程式の解法にしても全然、やり方が違いますね。
数学って知識を丸コピするよりか、自分で考える学問ですから考える人が違うと内容もだいぶ違ってしまうんでしょうね。

私は丸コピしか出来ないですが…。


さて、今回はレポートを書く気分で、(一次の)不定方程式について調べて学んだことを記していきたいと思います。

続きを読む

tag: 数学 方程式 勉強 素数 証明 数学的帰納法 学校

[環論] 素元と既約元の違いってなんなのよ

環について知っていないと分からない話を今回はします。

私が群・環・体の勉強に使っている本では、環の章に可換環における素元の定義として

p = abで表せるならaかbのいずれかが単元であるとき、pは素元である
(pは0でも単元でもない)


というふうに書かれていたんですが、インターネットで調べてみたらこれは実は素元の定義ではなく既約元というものの定義だそうです。

まぎらわしいですね。
これは私が読んでいる本が悪いのか。

私が群・環・体の勉強に使っている本は分かりやすい素晴らしい本ですけども、
環の定義として一般的には、乗法について可換であることは公理としませんが、可換環ではなく普通の環が乗法について可換であるとされていたりして、
素元の件も含めてちょっと一般的な定義とズレていますね。


それで、本当の素元の定義とは何かといいますと、

まず可換環においてp | aと書いたときa = xpとなるxが存在するという意味にして、まあ直感的にはpがaを割り切るといえますけども、

p | abであるならp | aまたはp | bであるとき、pは素元である
(pは0でも単元でもない)


ということになります。


しかし、素元と既約元は似ているというか、環よりもう少し条件を強くした代数系においては一致することがあるんですよね。

続きを読む

tag: 数学 群環体 証明 素数 方程式

数理論理学の些細な気づきごと

数理論理学の勉強はもう終わらせてやめましたが、最近ふと気づいてしまったメチャメチャどうでもいい発見があったので、たいしたことではないですから短くまとめます。

すごく小さな発見を、今回は2点ほど用意しております。

(追記ですが、ちっとも短く書けませんでした…)


まず1つ目ですが、xor演算についてです。
数学というより、プログラミングで論理演算をするときに知っとくとためになるかもしれませんね。

xorは、a xor bだったら、どういう意味かといえば、

aとbが両方ともfalseなら結果もfalse、aかbのどちらかだけがtrueなら結果はtrue、aとbが両方ともtrueなら結果はfalse、ですよね。


じゃあ、これがa xor b xor cと3つになったらどうなるでしょうか。
ちなみに左結合、つまり(a xor b) xor cです。

これは、感覚的には2項バージョンの拡張として、a,b,c全てがfalseなら結果はfalse、a,b,cのどれか1つだけがtrueなら結果はtrue、a,b,cのうち2つ以上がtrueなら結果はfalseになる演算だとみなしたいわけですが、そうはならないようなんですね。

反例としては、a,b,cが全てtrueだとしたら結果はfalseになってもらいたいわけですが、a xor bの時点で一回falseになってしまうので、そのfalseとcつまりtrueをxorして、結果はtrueになってしまうと。

ちなみに情報工学ではメジャーな話ですが、x xor trueをかけるとxの反転が得られますから、a xor b xor c xor dのa,b,c,dが全てtrueならa xor b xor c = trueの反転でfalseですね。

偶数個の項なら反例になりませんが奇数個のとき反例になることになります。


また、補足しておくと、ブール代数での話ですが、2項バージョンのときa,bの片方がtrueならtrueというのは、この“片方がtrue”というのが、
「1つだけtrueで残りはfalse」ということなのか、「1つ以上trueがあるが1つ以上falseがある(確実にすべてfalseではないが確実に1つはfalseがある)」ということなのか、という二つの捉え方があって、

これらは2項バージョンにおいては同値ですから違いが曖昧なのですが、3項以上になると違う命題になるので、後者のほうの捉え方も3項以上バージョンでは、また別個に考えられます。

つまり後者の捉え方で、a xor b xor cを、
a,b,c全てがfalseなら結果はfalse、a,b,cのうち1つ以上trueがあって1つ以上falseがあれば結果はtrue、a,b,c全てがtrueなら結果はfalseになる演算だとみなすこともできるわけですね。


さらに、trueでなくfalseの個数に着目した場合、つまりtrueとfalseが出てくる箇所をひっくり返した場合に後者では同値となりますが、前者では違う命題になるので、前者の捉え方のtrueとfalseをひっくり返した捉え方も論理的にはありますが、
まあa xor b xor cを感覚的に捉えるならばfalseの個数で考えるという発想はないと思いますので、この場合は無視しましょう。

だとすれば、上の話での後者の捉え方はどうなのかというのは考えなければなりませんが、このときも前者のときと同様にa,b,cが全てtrueという反例があって、感覚的なものとは違う真理値になります。


感覚的に捉えたものと同じ真理値にしたい場合はどういう論理式を書けばいいのかというと、後者の捉え方の場合は単純に、
(a or b or c) and not (a and b and c)みたいに全ての項をorでつなげたものと、andでつなげたものの否定の論理積をとるだけです。

むしろ、2項の場合はa xor bは(a or b) and not (a and b)と同値なのに、3項以上の場合は同値でなかったことに驚きますね。


前者の捉え方では、2つ以上の項がtrueにならないことを表現するために、あらゆる2つの項の組み合わせについて論理積がtrueにならないことを言わなければならないわけで、

a,b,cなら(a or b or c) and not (a and b) and not (a and c) and not (b and c)みたいに、長いですね。

全ての項をorでつなげたもののあとに、n項ならばnC2個の2つの項の組み合わせの論理積の否定を付けて、論理積でつなげなければなりません。
nandを使えば(a or b or c) and (a nand b) and (a nand c) and (b nand c)みたいに若干、短くなるか…。


というわけで、イメージ通りにやりたい場合はxorでつなげるのでは駄目で、地味に大変な論理式を書かなければならない、という話でした。

そうそう、上記の論理式を書く以外にも、真理値表をもとに論理式の標準形を書くという手段も、一応ありますね。

続きを読む

tag: 数学 論理学 論理式 論理演算 写像 集合 同値 組み合わせ 考察 クソ記事

次のページ

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