ひかりちゃんの悲観的絵日記

絵日記要素はあるかもしれないしないかもしれない。

束論の勉強1:束の2通りの定義とそれらの同値性

 論理学方面の関心から束論について勉強したいと思うようになったので,このシリーズでまとめます.束は代数構造の一種で,論理の意味論を組むときに出てくるブール代数ハイティング代数などの代数構造は束として表されます.束について理解すると論理学の理解も深まると思われます.

 束には順序構造としての定義と,代数構造としての定義があります.これらを順番に見ていって,あとでそれらの定義の同値性を確認します.まずは順序構造の方からです.

 集合A上の2項関係\leqA上の半順序(partial order)であるとは,それが反射的・推移的・反対称的であることです.すなわち,任意の a, b \in Aに対して,

  • a \leq a
  •  a \leq b ,  b \leq c \Rightarrow a \leq c
  •  a \leq b, b \leq a \Rightarrow a = b

が成り立つことをいいます(ここで" \Rightarrow"の前件に現れるカンマは「かつ」を表します.はてなブログの数式ではアンパサンドがうまく使えないので,今後もこのような書き方をします).半順序が定義された集合Aの部分集合Sに対して,Sの下限iとは,Sの任意の元xについてi \leq xとなるようなものの中で最大のものをいいます.同様に,Sの上限sとは,Sの任意の元xについてx \leq sとなるようなものの中で最小のものです.

 半順序構造 \langle A, \leq \rangleの部分集合Sに対して,Sの下限をそのmeet(交わり)と呼び,Sの上限をそのjoin(結び)といいます.Sのmeetを\bigwedge Sと書き,joinを\bigvee Sと書きます.特に,\bigwedge \{ a, b \} a \land bと書き,\bigvee \{ a, b \} a \lor bと書きます.

 半順序構造 \langle A, \leq \rangle(lattice)であるとは,Aの任意の有限部分集合がmeetとjoinをもつことをいいます. \langle A, \leq \rangleが束である場合, \varnothingAの有限部分集合なので,\bigvee \varnothing\bigwedge \varnothingが存在し,それぞれ01と表されます.0Aの最小元,1Aの最大元です(0は〈空集合のどの要素についてもそれ以上であり,かつ,そのようなものの中で最小のAの要素〉ですが,この連言肢のひとつ目の条件は空虚に満たされるので(Aの任意の要素がそれを満たすので),要は0Aの最小の要素ということになります.1についても同様の議論ができ,1Aの最大元となります).ここで \land \lor A上の2項演算となります.ここまでが順序構造としての束の定義です.

 次に,代数構造としての束の定義に入ります.Aを集合とし, \land\lorA上の2項演算,01Aの要素とします.構造 \langle A, \land, \lor, 0, 1 \rangleが束であるとは,演算 \land\lorが可換的かつ結合的で,吸収律をみたし,01がそれぞれ,両演算に関して双対的な零元と単位元となることです.すなわち,任意の a, b \in Aに対して,

  •  a \land b = b \land a
  •  (a \land b ) \land c = a \land ( b \land c)
  • a \land ( a \lor b ) = a
  •  a \land 0 = 0
  •  a \land 1 = a

および,上の5つの式の \land \lor01を一気に入れ換えたものが成り立つことです.

 最後に,ふたつの定義の同値性を確認します.まず,順序構造としての束が,演算\land\lorに関して,代数構造としての束をなすことを見ましょう.まず,これらの演算は明らかに可換的です.次に, x=(a \land b ) \land cとすると,x \leq a \land bかつ x \leq cであり,かつ,そのようなものの中でxは最大です.ここでx \leq a, x \leq bなので(\leqの推移性から),x \leq b \land cです(b以下かつc以下なので,大きくても \{ b, c \}の下限以下).ここで,y \leq aかつy \leq b \land cなるyxより真に大きいとします.このとき,ya \land b以下(上と同じ論法)かつc以下であるのにxより真に大きいことになり,これはxのもとの最大性に反します.したがって,xa以下かつb \land c以下なるものの中でも最大のものであり,したがってa \land ( b \land c)に等しいです(ここで「xa以下」などの表現は単にx \leq aを意味し,「yxより真に大きい」とはx \leq yかつ x \neq yであることをいいます.xSの最大元であることと任意の t \in Sに対してx=tまたはx \geq tとなることの同値性を示すのに \leqの反射性を, y \in Sに対してx \neq yかつx \leq yとなることがxSにおける最大性と矛盾することを示すのに\leqの反対称性を暗に用いています).最大元の一意性(これは\leqの反対称性から出ます)から,「逆の議論」は必要ありません.\lorに関しても同様に示せます.吸収律に関しては,a \leq a(反射性)かつa \leq a \lor bなので,あとはaがそのようなものの中で最大のものであることを示せばよいですが,x \leq aかつx \leq a \lor bとすると,連言肢の前半が既にx \leq aということを言っているのでこれも成り立ちます. \land \lorを入れ換えたものに関しても同様です.さらに,順序構造としての束は最小・最大元をもつので,それぞれを01とすれば,0以下の元は0しかなく,1は任意のa \in Aに対して1 \geq a \{ a, 1 \}が最小元aをもつので,零元・単位元についてもOKです.\lorについても同様です.したがって,順序構造としての束は代数構造としての束にもなります.

 逆に,代数構造としての束は,a \leq b a = a \land bであることとして定めると, \leqは半順序になり,この順序のもとで束をなします.まず, a \land a = a \land (a \lor (a \land a))で(吸収律),右辺は再び吸収律によってaに等しいので, a \land a = aで(これを冪等律ともいいます.冪等律は\lorについても成り立ちます),\leqは反射的です.また,a = a \land bかつb = b \land cだとすると,a = a \land (b \land c) = (a \land b ) \land c = a \land cなので,推移性も成り立ちます.反対称性に関しても, a = a \land bかつb = b \land aとすると, a = a \land b = b \land a = bとなるので成り立ちます.よって, \leqは半順序になります.

 次に,meetとjoinの存在です. S = \{ x_1, x_2, \dots ,x_n \}に対して,x_1 \land x_2 \land \dots \land x_nは(結合的なのでこのような書き方が許されます)Sのどの元をとってもそれ以下になります.なぜなら,可換性を有限回使って順番を入れ替えて冪等律を使えばx_1 \land \dots \land x_n = x_1  \land \dots \land x_n \land x_kとなるからです.そして,x_1 \land \dots \land x_nはそのようなものとして最大です.実際,x_1 \land \dots \land x_n = x_1 \land \dots \land x_n \land yなるyでそのようなもの考えると,y = y \land x_1で,y = y \land x_2だから,y = y \land x_1 \land x_2となり,これをnまで続けると, y = y \land x_1 \land \dots \land x_n= x_1 \land \dots \land x_n \land y =  x_1 \land \dots x_nとなります.空集合の下限としては1をもってくればよいです(a = a \land 1).また, x_k =  x_k \land (x_1 \lor x_2 \lor \dots \lor x_n)です.なぜなら, x_1 \lor \dots \lor x_nは可換性を有限回使ってx_k \lor ( x_1 \lor \dots \lor x_n)と変形でき,したがって吸収律が適用できるからです.また,x_1 \lor \dots \lor x_nはそのようなものとして最小です.実際,y = y \land (x_1 \lor \dots \lor x_n)なるyでそのようなものを考えると,まずx_k = x_k \land y(k = 1, \dots, n) です.ここで,吸収律からy = y \lor (y \land x_k)で,これは先の式からy = y \lor x_kと簡略化できます.各kについて,yに対するこのような代入を繰り返して並び替えると, y = (x_1 \lor \dots \lor x_n) \lor yとなり,これを使うとy = (x_1 \lor \dots \lor x_n) \land y = (x_1 \lor \dots \lor x_n) \land ( (x_1 \lor \dots \lor x_n) \lor y) = (x_1 \lor \dots \lor x_n)となります.空集合の上限としては0をもってくればよいです(0 = 0 \land a).かくして,代数構造としての束が順序構造としての束にもなることが分かりました.

 以上で,ふたつの定義の同値性が示されました.ちなみに,今回の定義における束は「有界」とも呼ばれ,最大元と最小元をもつバージョンの束ですが,最大元や最小元をもたない束を考えることもあります.その場合,順序構造としての束については「空でない任意の有限部分集合がjoinとmeetをもつ」と定義を書き換え,代数構造としての束については単位元と零元に関するルールを抜けばよいです.

 次回は束の基本的な性質を確認していきます.その際には主に順序構造に関する束で考えていく予定です.