セミナーで受けた質問シリーズ(なのか?)、その3: 過去に何度も聞かれたことがある一般的な質問; 数の足し算・掛け算、集合の合併・共通部分などの演算に対して、オペランド(演算すべき対象物)が一つもないときどうなるのか?
内容:
オペランドが一つもないとき
幾つかの数 a1, a2, ..., an を全部足し算すること(あるいはその結果である総和)を次のように書きます。
a1, a2, ..., an を全部掛け算するなら:
幾つかの集合 A1, A2, ..., An を全部合併することは次のように書きます。
A1, A2, ..., An 達すべての共通部分なら:
これらは、数や集合のリストに対する演算と思えるので、次のように書いてもいいでしょう。
n = 2 の場合は:
n = 1 の場合は次でいいでしょう。
さて、n = 0 の場合はどうなるのでしょうか?
ここで言っている零項演算は、最初に二項演算があり、その二項演算から作ったn項演算において、n = 0 としたものです。つまり、「二項演算ありき」の状況設定です。二項演算がなくて、いきなり集合X上の零項演算〈無項演算 | nullary operation〉と言った場合は、X0→X という写像のことです。集合Xの零乗は単元集合なので、1→X となり、(いきなりの)零項演算はXの特定要素と同一視できます。例えば、付点集合〈poited set〉は、零項演算〈無項演算〉をひとつ備えた構造になります。
[/補足]
リストの連接から考える
2つのリスト (a1, ..., an), (b1, ..., bm) に対してその連接〈concatenation〉を次のように定義します。
- (a1, ..., an) # (b1, ..., bm) := (a1, ..., an, b1, ..., bm)
'#'が連接演算の演算子記号です。連接の単位元〈中立元〉は空リスト () になります。
- () # (a1, ..., an) = (a1, ..., an)
- (a1, ..., an) # () = (a1, ..., an)
リストは太字で書くことにすれば、
- () # a = a
- a # () = a
前節の「リストの要素全部をナニカする」演算と、リストの連接には次の関係があります。
足し算に関して、連接の片側を空リストに置いてみると:
これより、 は足し算の単位元〈中立元 | 零元〉でなければならないことが分かります。足し算以外も同様で:
ここで、Xは部分集合の親となる全体集合です。
集合演算の定義から直接導く
集合演算の場合は、その定義から直接に零項演算の結果が何であるかが分かります。
Iをインデックスセットとします。I = {1, 2, ..., n} だと思ってもかまいません。Iでインデックス付けられた集合族〈I-indexed family of sets〉の合併と共通部分は、次の論理同値で定義されます:
ここで、インデックスセットIを空集合に置いてみると:
「i∈ に対する Ai」が不思議ですが、空集合をインデックスセットとするような部分集合の族は(ただ一つだけ)存在し、それがAなのです -- Aは空リストのことだと思ってもいいです。さて、上記の同値の右側の条件を変型すると:
は偽ですから:
下側(二番目)の同値では、含意の前件(左側)が偽なら含意命題は問答無用に真になることを使っています。
以上より:
つまり、次が言えます。
結局:
順序集合の上限と下限
前節の議論を、少し別な観点から見てみましょう。インデックスセットIでインデックス付けられたXの部分集合族〈I-indexed family of subsets of X〉Aは、A:I→Pow(X) という写像のことです(Pow(X)はXのベキ集合)。
- {S∈Pow(X) | S = Ai (Ai = A(i)) となる i∈I が在る}
を考えても同じことです。また、部分集合族の表現として、単射な写像を選ぶことができるので、「Iでインデックス付けられたXの部分集合族 ←→ Pow(X)の部分集合」という相互変換(1:1ではない*1)が出来ます。
話を一般化して、ベキ集合Pow(X)とは限らない順序集合 L = (L, ≦) を考えます。Lの部分集合Aに対して、Aの上限〈supremum | 最小上界 | least upper bound〉とAの下限〈infimum | 最大下界 | greatest lower bound〉を定義しましょう。
a∈L が A⊆L の上限だとは、aが次の条件を満たすことです。
- x∈A ならば x ≦ a
- 「x∈A ならば x ≦ b」となるbに対して、a ≦ b
下限の定義は順序関係をひっくり返すだけです。aがAの下限だとは:
- x∈A ならば a ≦ x
- 「x∈A ならば x ≦ b」となるbに対して、b ≦ a
勝手に選んだAに対して上限・下限が存在することは(一般には)保証されませんが、在るならそれらを sup(A), inf(A) と書きます。
さて、空集合に対して sup(), inf() が在るとして、それはどんなものでしょうか? 上限の定義のAのところにを入れると:
- x∈ ならば x ≦ a
- 「x∈ ならば x ≦ b」となるbに対して、a ≦ b
一番目の条件は常に真(前件が偽だから)なので、二番目だけ考えればいいですね。二番目の条件内の「x∈ ならば x ≦ b」も常に真なので、bに関する縛りは何もなくなって:
- 任意のbに対して、a ≦ b
論理式で書くなら:
- ∀b∈L.(a ≦ b)
これは a = sup() がLの最小元〈least element〉であることを意味します。同様に、inf() はLの最大元〈greatest element〉になります。
- sup() = least(L)
- inf() = greatest(L)
(L, ≦) として (Pow(X), ⊆) を取ったときは:
- sup() = least(Pow(X)) =
- inf() = greatest(Pow(X)) = X
ここで、が、⊆Pow(X) と ⊆X の意味で登場することに注意してください。
前節の話との関連性は: