対象物の重複を数えて区別するような、ものの集まりを「多重集合(multiset)」という。
このスレッドでは多重集合と負の存在について考察・議論する。
多重集合は、二重のカッコ{{ }}で囲って表す。
ある対象物xが多重集合Xに何個属するかを「x∈∈X」と表す。
任意の多重集合X,Yについて、XがYに包まれることを「X⊆⊆Y」と表す。
多重集合は大学時代に思い付いたが、すでに他の人が発見していた。
プログラミング言語C++に用意されているstd::multisetが多重集合を実装している。
負の存在については素粒子物理学の反粒子から着想を得た。
さて、集合論というものがあるのなら、「多重集合論」というものも産み出すことも可能であろう。
しからば、それの構築のために理論展開を始める。
4 :
名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:43:30.80
へぇ...
で、なにができるようになるの?
面白そう
それをこれからじっくり考えるのである。おそらく常識的な結果が得られるが、基礎研究に先入観は不用だ。
諸君は多分、集合論の本を持っているだろう。それを参考にしてみるとよい。
たぶんクヌースの教科書あたりに書いてあると思うけどな
数学では、正しい意味の等号で結ばれるものは同一のものである、と考えている。
では、「同じものが複数ある」とはどのように考えるべきか?
等号の意味が違う、別の数学の世界が存在すると考える。
工業機械による大量生産により、全く同じ製品が作れるようになった。
それでも区別できるのは位置や場所が違うからである。
意味の違う等号が別に存在するからである。
式で考える。
製品1=製品2ならば、#{製品1,製品2}=1。ここで#Xは集合Xの濃度である。
集合論において製品1以外に別のものは存在しない。製品1と製品2の性質は全く同じ。
しかし、##{{製品1,製品2}}=2。ここで##Xは多重集合Xの多重濃度である。製品1,製品2の場所が異なると考えよう。
式の上で製品1と製品2が区別できたのは、表現が異なっていたからである。
表現が同じで実体が異なるという数学も考えられる。
たとえば、##{製品1,製品1}=2である。この式において、前者の製品1と後者の製品1が区別できたのは、
やはり、式の中において位置が違うからである。
訂正。
× たとえば、##{製品1,製品1}=2である
○ たとえば、##{{製品1,製品1}}=2である
非常にややこしい。
1つの数学の世界の中で等号の意味を変化させるという考え方は、破綻する運命にある。
違うものは違うと言わねばなるまい。たがいに異なる等号は表現において区別しないと、矛盾が生まれる。
実体を区別する等号は、実体を区別しない等号よりも高尚な世界にあることは確かだ。
だから、多重集合論では、従来の集合論の意味の等号を「≒」で表す。
多重集合論においては、存在xの実体を「!!x」で表す。これにより、表現に振り回されずに一般の##Xを書き表せる。
##X=#{{!!x | x∈∈X}}。……(1)
ここに、式(1)の{{ }}の中の二つのxの表現は真の等号で結ぶ必要があるが、
一次元的な表現の式では難しいので、このように必要に応じて補足する。
いや、wikipediaの「多重集合」の記事でも見れば分かると思うけど、
多重集合は「集合と、自然数値の関数」として通常の集合論の中で実現できるから、破綻とか矛盾とかしないってば
訂正。
× !!x
○ id(x)
こちらの方がカッコいい。
Wikiを見ればその通りだ。言い換えれば、特性関数の値が自然数になるような拡張である。
しかし、両方の数学の世界を統合して考えられないと少し物足りない訳である。
##X=#{{id(x) | x∈∈X}}。……(1)'
ここに、式(1)'の{{ }}の中の二つのxの表現は真の等号で結ぶ必要がある。
多重集合Xに対して、特性関数χ[X]:X→Nが存在して
χ[X](x)=(x∈∈X)
となる。ここに、Nはゼロ以上の整数の全体集合であり、式の中の二つのxは同一である。
【定義1】存在の表現xについて、xの実体を「id(x)」で表す。ここに、この定義において最初の二つのxの表現は、同一の実体である。
【定義2】存在の表現x,yの実体が「同一」であるとは、id(x)=id(y)であることである。
ここに、この定義において最初の二つのxの表現の実体は同一であり、二つのyの表現の実体は同一である。
【定義3】多重集合論の文脈において、式の中の二つの表現において、その二つの表現の実体が
同一であるならば、そのことを等号(二重線)で結んで、図示する。
図示できないときは、言葉で補足する。このような補足も図示もしない場合、その二つの表現は、
別々の実体として取り扱うものとする。
訂正。
× 多重集合論の文脈において、式の中の二つの表現において
○ 多重集合論の文脈において、1つの式の中の二つの表現において
【定義4】通常の集合論の文脈は、「S.S.[[ ]]」で囲って表す。
また、多重集合論の文脈は、「M.S.[[ ]]」で囲って表す。
>>21の訂正。
【定義4】通常の集合論の文脈は、「S.T.[[ ]]」で囲って表す。
また、多重集合論の文脈は、「M.S.T.[[ ]]」で囲って表す。
【例題1】S.T.[[#{1,1}=1]]であり、M.S.T.[[#{1,1}=2]]である。
また、M.S.T.[[#{1,1}=1、ただし最初の二つの1の実体は同一である]]は正しい。
>>19 「実体」と「id」が循環定義になっているだけで、
何も定義されていない。
コンニャク問答って、知ってる?
彡⌒ミ
__(´・ω・`)__
〔ノ二二,___ __,二二ヽ〕
|:::::::::::::::::::::::::ヽ ゜ ゜ /::::::::::::::::::::::::::/
〉::::::::: :::::::::::::〉 〈:::::::::::::: ::::::::〈
|:::::::::::::::::::::::/ 災 ヽ::::::::::::::::::::::/
〔::::::::::::::::::::/ ノ(U) ヽ::::::::::::::::::|
ヽ:::::::::::::::::/ /::::::::::::\ ):::::::::::::::::::ゝ
ノ:::::::::::::::::::| |〜── -| |〜〜〜
【定義5】x=yならばx≒yを仮定する。ただし、最初の二つのxをそれぞれ丸で囲み、
二重線で結ぶ。最初の二つのyについても同様。
【定義6】id(x)=id(y)ならばx=yと仮定する。ただし、最初の二つのxを
それぞれ丸で囲んだものを二重線で結ぶ。最初の二つのyについても同様。
【定義7】x=yならばid(x)=id(y)と仮定する。ただし、最初の二つのxを
それぞれ丸で囲んだものを二重線で結ぶ。最初の二つのyについても同様。
【定義8】「id(x)≒id(y)ならばid(x)=id(y)」を常に満たすidを「カッコいいid」と呼ぶことにする。
ただし、最初の二つのxをそれぞれ丸で囲んだものを二重線で結ぶ。最初の二つのyについても同様。
カッコ悪いidから、カッコいいid'は構築可能か?
idは、関数でも写像でもない。形ジ上の表現である。idがカッコ悪ければ、
id(x)≒id(y)かつid(x)≠id(y)となるx,yの組が存在する。
ただし、このレスのすべての表現xは同一の実体を指し示す。このレスのすべての表現yについても同様。
「id(x)≒id(y)⇔x≒y」…(2)
と「id(x)=id(y)⇔x=y」…(3)
が常に成り立つならば、「x≒y」の「≒」から「x=y」の「=」を決める問題になるが、
id'の情報は、idからは決定することはできない。どうやら情報がキーワードになっているように思える。
あやふやな主張ばっかり。
HalmosのNaive Set Theoryでも読んで、数学の言語の構築とはどういうものか学んだ方がよい。
ご批判有難う!投票日だから投票行ったよ。
【定義9】「」で囲まれた正しい記述の内部にある任意の変数xはその有効範囲においてその実体がある。実体がないときはその有効範囲の記述は正しくない。
【定義10】ある「」内部の正しい記述Dの内部において、
「xは同一実体とは限らない」という正しい記述Eがあった場合、そのxの有効範囲において、xという表現は同一の実体を指し示すとは限らない。
プログラミング言語の構築みたいな話だな。
だったら最初からmultisetを扱えるプログラム言語を作って数学やればいいって話だな。
テストや証明も楽になるし。
一次元のテキストだと、前述したような、対象表現を丸で囲って丸と丸を二重線の等号で連結するような2次元の式を表すのが難しいんだよな。
とりあえず、どんな構想なのかを示しておく方が良くないか?
具体的な「多重集合」とその演算(積とか和とか)の見本とか、目標としている応用とか。
38 :
片山博文MZ ◆T6xkBnTXz7B0 :2014/12/14(日) 18:39:00.07
39 :
名無しさん@そうだ選挙に行こう:2014/12/14(日) 18:42:15.94
馬鹿でブサな上に乞食じゃん
40 :
片山博文MZ ◆T6xkBnTXz7B0 :2014/12/14(日) 18:44:40.13
紙に書くと破って捨てられる可能性があるからだよ。
君は、自分に理解できないことを馬鹿と言い捨てるだけでいいかもしれないが。
下手な言い訳
議題を列挙しよう。
「多重集合を直感的に表現できる数学は存在するか?」
「反存在は数学的に存在し得るのか?」
「正存在と反存在が打ち消し合うとはどういうことか?」
「そのとき濃度と情報量はどうなるか?」
「無存在は数学的に存在し得るのか?」
ファジー集合てのがあったなー
キーロガーとか偽メールとか作ってるから、黒魔法系に強いんじゃないかな
異なるものを、ある場面では同じと見なすということだけなら、同値関係で足りてるからなあ。
そこからさらに和集合や共通部分のような集合操作を考えるのは、計算機科学の要請なんだろうね。
数学では例えば多項式の根が多重集合を成すと見なすことがあるけど、そこで集合操作を行う必要性なんてないし。
53 :
片山博文MZ ◆T6xkBnTXz7B0 :2014/12/21(日) 19:47:06.98
C/C++では配列によって多重集合のデータを表現できる。
int array[] = {1,2,2,3};
この場合、最初の2とその次の2は格納されるメモリーアドレスが違う(&array[1] != &array[2])。
C++11なら次のようにも書ける。
std::multiset<int> ms = {1,2,2,3};
Coqでもやってみるか?
反存在が存在するならば、無存在は、正存在と反存在が打ち消し合った状態だと考えることができる。
打ち消しを考慮しない「絶対濃度」というものが定義可能か?
「相殺濃度」≦「絶対濃度」。
直感的には、「相殺濃度」は、正存在の個数から反存在の個数を引いた数。
「絶対濃度」は、正存在と反存在の合計個数となる。
相殺濃度は負になりうるが、絶対濃度は必ず負にならない。
存在xの反存在を「ーx」で表す。
集合はregsetである。
多重集合はregsetである。
regsetに正存在xを追加したものもregsetである。
regsetに反存在ーxを追加したものもregsetである。
「空のregset」とは、正存在も反存在も含まないregsetである。
「無のregset」とは、相殺濃度がゼロのregsetである。
59 :
片山博文MZ ◆T6xkBnTXz7B0 :2014/12/31(水) 00:25:55.08 ID:eCKucFaO
regset Xの「反regset」とは、任意の存在xに対して次のような条件を満たすregset ーXである。
x∈X ⇔ ーx∈ーX。
ーXの絶対濃度は、Xの絶対濃度に等しい。
ーXの相殺濃度は、Xの相殺濃度にマイナスいちを掛けたものである。
ー(ーx)=x。
ー(ーX)=X。
xが正存在ならばsgn(x)=+1。
xが反存在ならばsgn(x)=ー1。
regset Xに含まれている存在xの相殺濃度とは、
農{x∈∈X} sgn(x)
である。
regset Xに含まれている存在xの絶対濃度とは、
農{x∈∈X} 1
である。
regset Xの相殺濃度とは、
農{x∈∈X∧sgn(x)=+1} 1 ー 農{x∈∈X∧sgn(x)=ー1} 1
である。
regset Xの絶対濃度とは、
農{x∈∈X∧sgn(x)=+1} 1 + 農{x∈∈X∧sgn(x)=ー1} 1
= 農{x∈∈X} 1
である。
>>60 訂正。
(誤)
regset Xに含まれている存在xの相殺濃度とは、
農{x∈∈X} sgn(x)
である。
regset Xに含まれている存在xの絶対濃度とは、
農{x∈∈X} 1
である。
(正)
regset Xに含まれている存在xの相殺濃度#(x,X)とは、
農{x≒y ∨ ーx≒y} sgn(y)
である。
regset Xに含まれている存在xの絶対濃度|#|(x,X)とは、
農{x≒y ∨ ーx≒y} 1
である。
#X = 農{∀x∈X} #(x,X)。
xがn個あることをx×nと表す。
X∪∪Y = {{x×max{#(x,X),#(x,Y)} | x∈X∪Y}}。
X∩∩Y = {{x×min{#(x,X),#(x,Y)} | x∈X∩Y}}。
【例】X={{x×1,y×ー2,z×3}}のとき、#(x,X)=1, #(y,X)=ー2, #(z,X)=3。
#(x,{{x×n}})=n。
#(x,X)=ー#(ーx,X)。
#(x,X)=ー#(x,ーX)。
#(x,X∪∪Y)=max{#(x,X),#(x,Y)}。
#(x,X∩∩Y)=min{#(x,X),#(x,Y)}。
X∪∪Y=Y∪∪X。
X∩∩Y=Y∩∩X。
(X∪∪Y)∪∪Z=X∪∪(Y∪∪Z)。
(X∩∩Y)∩∩Z=X∩∩(Y∩∩Z)。
(X∪∪Y)∩∩Z=(X∩∩Z)∪∪(Y∩∩Z)。
(X∩∩Y)∪∪Z=(X∪∪Z)∩∩(Y∪∪Z)。
X∪∪X=X。
X∩∩X=X。
多重集合では
X∪∪φ=X、 X∩∩φ=φ
が成り立つが、regsetでは一般には成立しない。例えば、
sgn(x)=sgn(y)=+1、かつX={{ーx, y}}のとき、
X∪∪φ={{y}}≠X、
X∩∩φ={{ーx}}≠φ
となる。
全体集合や全体多重集合のような概念がregsetにも存在すると仮定する。
理想的な「全体regset」は、ビル・ゲイツを超えるセレブである。すなわち、
それは、アメリカ大陸と日本列島、地球の他、あらゆるものを無限個保有している。
また、全体regsetの反regset、「反全体regset」を考えることができる。
regsetでは、∪∪と++は、全く異なる演算子である。だから∪∪のことを「和regset」と呼ぶことはできない。
X++Y={{x×(#(x,X)+#(x,Y)) | x∈X∨ーx∈X∨x∈Y∨ーx∈Y}}
nが整数ならば、regset Xのn倍「X×n」を考えることができる。
X×n = {{x×(n・#(x,X)) | x∈X ∨ ーx∈X}}。
明らかに
X×0は空っぽであり、X×1=Xである。
また、相殺濃度は#(X×n)=#(X)×nであり、絶対濃度は|#|(X×n)=|#|(X)×|n|である
無存在は存在しない。無存在が存在したとしても、その個数を数えることができないことと、
演算子が作用できない点から、無存在はないと考える方が合理的であるからである。
ないものはない。
無限大という数は存在しないとしても、∞という記号で形ジ上取り扱うことが可能である。
これと同様に、無存在は「00」(ダブルゼロ)によって表すことにする。
00=ー00。
sgn(00)=0。
{{00×n}}=φ。
k≒00 ⇔ k≒ーk。
(X×m)×n=X×(m・n)。
regset X,Yの「差」「XーーY」とは、X++(ーY)で定義される。
XーーY=X++(ーY)。
regsetの集合と演算子++のペアは群である。なぜなら++は、結合法則を満たし、
φという単位元が一意に存在し、任意のregset Xに対してその逆元ーXが存在するからである。
X++(ーX)=φ。
77 :
片山博文MZ ◆T6xkBnTXz7B0 :2014/12/31(水) 12:03:53.13 ID:eCKucFaO
ここまでのregsetの議論に異議・質問等はございませんか?
78 :
遅獄先生−主対性卓上理論より実戦:2014/12/31(水) 14:26:16.32 ID:0KCnEDKk
休まず、女性を孤立させず、ということがかなった人だけの者かな。
big L みたいな。
80 :
片山博文MZ ◆T6xkBnTXz7B0 :2015/01/01(木) 00:31:36.47 ID:H3+P+4w7
しょうしょうまちがいはございますが、じょうきょうはよろしいようで
ございます。こちらでしゅうせいいたします。
正月から、ヤなものを見てしまった。
>>45 の解決として regset なるものを定義したいのなら、
集合の特性関数を整数値へ拡張すれば、同じものが遥かに簡潔に記述できる。
それだと、見通しが良すぎて「形ジ上的」でないのかもしれないが。
>>81 多重集合Xの特性関数をK[X]:E→Nとする。ここにEは存在の集合で、Nをゼロ以上の整数の集合とする。
K[X∪∪Y](x)=max{K[X](x),K[Y](x)}。
K[X∩∩Y](x)=min{K[X](x),K[Y](x)}。
K[X++Y](x)=K[X](x)+K[Y](x)。
確かに簡便に見える。regset Xの特性関数をK'[X]:E→Zとする。ここにZは整数の集合。
K'[X∪∪Y](x)=max{K'[X](x),K'[Y](x)}。
K'[X∩∩Y](x)=min{K'[X](x),K'[Y](x)}。
K'[X++Y](x)=K'[X](x)+K'[Y](x)。
K'[ーX](x)=ーK'[X](x)。
K'[XーーY](x)=K'[X](x)ーK'[Y](x)=K'[X++(ーY)](x)。
数学はもはや人間だけのものではない。遠回りして考えた高度な概念を
機械が理解してさらに他の機械に伝えていく手段を考えている。
試行錯誤が無駄ではないと信じている。
訂正。
(誤)
Eは存在の集合
(正)
Eは「絶対存在」の集合。ここに、正存在の「絶対存在」は、
それそのものであり、反存在の「絶対存在」はそれに対する正存在である。
85 :
片山博文MZ ◆T6xkBnTXz7B0 :2015/01/01(木) 14:42:28.81 ID:H3+P+4w7
訂正。
(誤)絶対存在
(正)絶対的存在
素粒子物理学と反存在について。
通常の素粒子に対して、反素粒子というものが存在することが知られている。
両者がぶつかると放射性エネルギーが放出され、粒子は消えてなくなる。
きれいさっぱり消えるのではなく、エネルギーが残るのであれば、反素粒子は単なる数学的な反存在ではないと思われる。
regsetの実用性について。
regsetは在庫管理の理解を助けると考えられる。
「xが2個足りない、yが3個余っている」という状態はregsetにより{{x×ー2, y×3}}と表される。
ロボットAが「部品xが2個足りない、部品yが3個余っている」という情報を
ロボットBにregsetデータとして伝える。ロボットBは、
「yを2個よこせ、xを2個わたすから」と、ロボットAにやり取りしたい部品のregsetデータを送る。
このように、ロボットどうしで、在庫管理の情報交換が可能となる。
【定理】1個のregsetは、2個の多重集合の順序対で表される。
>>89の証明。
任意のregset Xについて。「K'[X](x)≧0ならばK[A](x)=K'[X](x)」であり、さもなければK[A](x)=0で
あるような関数K[A]:E→Nは存在する。よってそのような特性関数に対する多重集合Aは存在する。
「K'[X](x)<0ならばK[B](x)=ーK'[X](x)」であり、さもなければK[B](x)=0で
あるような関数K[B]:E→Nは存在する。よってそのような特性関数に対する多重集合Bは存在する。
Xに対して(A,B)が存在することが示された。このような対応により、写像
f: Regsets→Multisets×Multisetsが存在する。fは全射である。なぜなら
任意の多重集合A,Bに対してK'[X](x)=K[A](x)ーK[B](x)を特性関数とするregset Xが存在するからである。□
これでええかね?
regsetの包含関係⊆⊆について。
X⊆⊆Y ⇔ 任意の存在xについてK'[YーーX](x)≧0。
これが一番合理的な定義に思える。
【定理】「X⊆⊆YかつY⊆⊆Z」ならばX⊆⊆Z。
>>92の証明。
K'[YーーX](x)≧0ならばK'[Y](x)≧K'[X](x)である。
K'[ZーーY](x)≧0ならばK'[Z](x)≧K'[Y](x)である。
「K'[Y](x)≧K'[X](x)かつK'[Z](x)≧K'[Y](x)」ならばK'[Z](x)≧K'[X](x)である。□
これでええか?
全体regsetをUとする。X⊆⊆Uのとき、regset Xの「補regset」とは、UーーXのことである。
X⊆⊆YかつX≠Y ⇔ X⊂⊂Y。
>>95 これだから凡人は困る。
ちゃんと研究しないと(Regsets,++)が
群であることも発見できなかったでしょ。
整数は二つの自然数の差(違い)を群の世界で正しく定義するものである。
「整数は二つの自然数で表される、だから整数は必要ない」という議論は数論では論外だ。
regsetは、二つの多重集合の違いを群の世界で正しく定義するものである。
多重集合に対するregsetは、自然数に対する整数に似ている。
整数を意味するregular numberのregをsetの前にくっ付けてregsetと名付けた。
98 :
132人目の素数さん:2015/01/02(金) 10:16:54.15 ID:IvPZmJqs
運営乙
>>96 いやいや、発見できるだろw凡人未満かお前はw
>>81を考えれば、お前の言う「++」に相当するものは一瞬で浮かび上がってくるじゃん。
それが群になることも明らか。お前だって、
>>76で特に証明を与えるわけでもなく、
「群になる」としか書いてないしな。実際、書く必要もないくらい明らかだよ。
お前は「何かを研究した気になっているだけ」であって、実際には何もやってない。
>>81で済む話を、
>>81を使わずに筋の悪い方法でグダグダやってるから工程数が
膨らんでいるだけであり、そのグダグダの工程数を見て自己満足し、
何かをやったつもりになっているだけ。
プログラミングで言えば「車輪の再発明」にすぎない。しかも質が悪い方の再発明。
プログラミングでも、たまにそういう奴いるでしょ。何かを発見した気になってる痛いやつ。
あ、ご自身の理解を深めるための必要悪の遠回りと考えれば、
決して無駄ではありませんぞ(煽りではなく本当に)。
いちいちこのスレに書き込まなければならないようなシロモノではないだけであって。
数学者なら一瞬でわかることでも、人間が概念をプログラミング
しないと、計算機は概念を理解できないのだよ。
【定理】1個のregsetは、「1個の存在と、1個の整数のペア」の集合として表すことができる。
>>101の証明。
そのようなペアの全体集合をPairsと表すことにする。
P⊆PairsなるPの全体集合をSetsOfPairsと表すことにする。
任意のregset Xに対して、x∈Xならば、(x,K[X](x))∈Pairsである。
次のような関数f: E→Pairsを定義する。任意のx∈Eに対してf(x)=(x,K[X](x))。
ここでg(X)={ f(x) | x∈E }と置く。g(X)≠g(Y)ならば
K[X](x)≠K[Y](x)となるxが存在し、X≠Yとなるので、g: Regsets→SetsOfPairsは写像である。
gは、全射である。なぜなら、S∈{ f(x) | x∈E }ならば任意のx∈Eに対してf(x)=(x,K[X](x))∈Sとなり、xに対してK[X](x)が決定され、Xが決定するからである。□
これでどうや?
103 :
イスラム金融系最高指導者遅獄先生−主対性卓上理論より実戦企画部長:2015/01/02(金) 19:49:18.35 ID:/76+8fOu
男に負けた。戦争で。そのいいわけじゃん。
105 :
人間未満:2015/01/07(水) 22:32:43.75 ID:2ZF2HjCY
>>100 人間なら一瞬でわかることでも、数学者が概念をプログラミング
しないと、哲は概念を理解できないからね。
107 :
132人目の素数さん:2015/01/30(金) 14:21:35.91 ID:E4+zQ9AZ
108 :
132人目の素数さん:2015/01/30(金) 14:45:47.10 ID:mFmCMBEi
>>87は傑作
こいつは帳簿というものを見たことがないと断言できる
具体的なブツとしてはLispの連想リストそのもの(cdr部に多重度を入れる)だな。
並列プロセスの解析のためにプロセス代数があるように、
連想リストの代数化があっても別にいいけど、並列プロセスとは違って
連想リストの扱いは難しいものじゃないから、大したご利益はないだろ。
もし集合論とは別の公理を持つ集合論の変種を作ろうというのなら
もっとキチンと公理を示して、面白そうな定理の一つも証明してくれないと。
新しい定理を示さなくても、
既存の定理が従来よりも
簡潔に証明できるとか、
簡潔に表記できるだけでもいいな。
何か一つ、芸見せてみ。