集合列の和集合・直和・共通部分

集合論
作者

Ryo Nakagami

公開

2025-07-09

更新日

2025-07-09

上極限集合と下極限集合

定義 1 集合列

集合 Γ のとき,集合族 {Aγ}γ ∈ Γ

{A1, A2, ⋯, An, ⋯}

と表される.これを集合列という.

集合列の和集合・直和・共通部分

$$ \begin{align} \text{集合列の和集合:} \ \ & \bigcup_{n=1}^\infty A_n\\ \text{集合列の直和:} \ \ & \bigsqcup_{n=1}^\infty A_n\\ \text{集合列の共通部分:} \ \ & \bigcap_{n=1}^\infty A_n \end{align} $$

定義 2 上極限集合

$$ \lim_{n\to\infty}\sup A_n = \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k $$

$x\in \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k$ をまず考えます.これはすべての n に対して

$$ x \in \bigcup_{k=n}^\infty A_k $$

を意味します.一方,$x \in \bigcup_{k=n}^\infty A_k$k ≥ n を満たすある k に対して

x ∈ Ak

これらふたつをあわせると

$$ \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \{x | \text{すべての n に対して,ある} k\geq n \text{が存在して} x \in A_k\} $$

上極限集合を無限に多くの k に対して x ∈ Ak と解釈する

x ∈ lim sup An のとき,ある k1 に対して x ∈ Ak1 となります.ここで

$$ \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \left(\bigcap_{n=1}^{k_1}\bigcup_{k=n}^{\infty} A_k\right) \bigcap \left(\bigcap_{n>k_1}^\infty\bigcup_{k=n}^\infty\right) $$

であることから,k ≥ k1 + 1 をみたすある k2 についても

x ∈ Ak2

とならなくてはいけません.これを繰り返していくと k1 < k2 < ⋯ < kn < ⋯

x ∈ Ak1, x ∈ Ak2, ⋯, x ∈ Akn, ⋯

つまり,x ∈ lim sup An であるならば,無限に多くの k に対して x ∈ Ak ということになります.

逆に,「無限に多くの k に対して x ∈ Ak」であるならば,

任意の n について k ≥ n を満たす  x ∈ Ak  となるような k が存在する

であるので,

$$ \bigcap_{n=1}^\infty\bigcup_{k=n}^\infty A_k = \{x | \text{すべての n に対して,ある} k\geq n \text{が存在して} x \in A_k\} $$

が成立します.

定義 3 下極限集合

$$ \lim_{n\to\infty}\inf A_n = \bigcup_{n=1}^\infty\bigcap_{k=n}^\infty A_k $$

下極限集合は,

limn → ∞inf An = {x|ある n が存在して,k ≥ n となるようなすべての k について x ∈ Ak}

と解釈できます

例 1 supとinfの関係

i ∈ ℕ として,集合 Ai を以下のように定義します

$$ A_i = \left\{(x, y) | t_i = 1 - \frac{1}{i}, (x - t_i)^2 + y^2 < 4\right\} $$

このとき,

$$ \begin{align} \lim_{n\to\infty} \sup A_n &= \text{青の境界を含まない開集合}\\ \lim_{n\to\infty} \inf A_n &= \text{黒斜線部のの境界を含まない開集合} \end{align} $$

また,

limn → ∞inf An ⊆ limn → ∞sup An

であることがわかります.

コード
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

x = np.linspace(-2.5, 3, 1000)
y = np.linspace(-3, 3, 1000)
X, Y = np.meshgrid(x, y)

# Intersection region
region1 = (X - 1)**2 + Y**2 <= 4
region2 = X**2 + Y**2 <= 4
intersection_common = region1 & region2

# Plot
plt.figure(figsize=(8, 6))
plt.contourf(X, Y, region1, levels=[0.5, 1], colors='#B4D7FF', alpha=0.6)
plt.contour(X, Y, region2, levels=[0.5], colors='black')
plt.contourf(X, Y, region1, levels=[0.5, 1], colors='none', hatches=['///'])

# 凡例用パッチ作成
patch_region_sup = mpatches.Patch(color='#B4D7FF', alpha=0.6, label='$\lim\sup A_n$')
patch_region_inf = mpatches.Patch(facecolor='white', hatch='///', label='$\lim\inf A_n$', edgecolor='black')

plt.legend(handles=[patch_region_sup, patch_region_inf])

plt.xlabel('x')
plt.ylabel('y')
plt.axis('equal')
plt.grid(True)
plt.show()
<>:21: SyntaxWarning: invalid escape sequence '\l'
<>:22: SyntaxWarning: invalid escape sequence '\l'
<>:21: SyntaxWarning: invalid escape sequence '\l'
<>:22: SyntaxWarning: invalid escape sequence '\l'
/tmp/ipykernel_3926/2157649176.py:21: SyntaxWarning: invalid escape sequence '\l'
  patch_region_sup = mpatches.Patch(color='#B4D7FF', alpha=0.6, label='$\lim\sup A_n$')
/tmp/ipykernel_3926/2157649176.py:22: SyntaxWarning: invalid escape sequence '\l'
  patch_region_inf = mpatches.Patch(facecolor='white', hatch='///', label='$\lim\inf A_n$', edgecolor='black')
図 1

事象列の上極限集合と下極限集合

(Ω, ℱ, P) を確率空間とします.事象の列 An ∈ ℱ があったとして,

limn → ∞sup An

を考えてみます.

$$ \omega \in \lim_{n\to\infty}\sup A_n = \bigcap_{k=1}^\infty\bigcup_{n=k}^\infty A_n $$

とすれば,ω は どんなに大きなk をとってもそれ以降の An に必ず含まれることを意味しています.もし ω が有限個の {An1, ⋯, Anm} にのみ属するならば矛盾してしまうので,無限個の An に属していなくてはならないことになります.つまり,

  • ℙ(lim sup An) は「ω ∈ Ak を満たすような事象が,たびたび,しかし何回でも起こる確率」と解釈できます

次に,

limn → ∞inf An

これは,ある n 以降全ての k ≥ nω ∈ Ak となっているので,

  • 「十分先では常に Ak が起こっているという事象」を意味します.
ノート上極限集合の別表記

ℙ(lim sup An) は「ω ∈ Ak を満たすような事象が,たびたび,しかし何回でも起こる確率」と解釈できることから

P(Ak , i.o.)

と表記する場合もあります.i.o. は infinitely oftenの略です.

References