2.2. 可測集合
定義.
部分集合 A \subseteq \mathbb{R} が (ボレル)可測 であるという概念を、
次のように帰納的に定義する。
-
任意の
a \in \mathbb{R}に対して、半直線[a,\infty)は可測である。 -
空集合
\emptysetは可測である。 -
Aが可測ならば、その補集合A^cも可測である。 -
A_0, A_1, \dotsが可測ならば、\bigcup_{n \in \mathbb{N}} A_nも可測である。
Lean code
inductive MeasurableSet : Set ℝ → Prop
| ici' : ∀ a : ℝ, MeasurableSet (Ici a)
| empty' : MeasurableSet ∅
| compl' : ∀ A, MeasurableSet A → MeasurableSet Aᶜ
| iUnion' : ∀ A : ℕ → Set ℝ, (∀ n, MeasurableSet (A n)) → MeasurableSet (⋃ i, A i)
補題.
空集合と全体集合 \mathbb{R} は可測である。
Lean code
@[simp]
theorem MeasurableSet.empty : MeasurableSet (∅ : Set ℝ) :=
MeasurableSet.empty'theorem MeasurableSet.univ : MeasurableSet (Set.univ : Set ℝ) := ⊢ MeasurableSet Set.univ
All goals completed! 🐙
補題.
可測集合の可算和と可算共通部分は可測である。
Lean code
theorem MeasurableSet.iUnion (A : ℕ → Set ℝ) (hA : ∀ n, MeasurableSet (A n)) :
MeasurableSet (⋃ i, A i) :=
MeasurableSet.iUnion' A hAtheorem MeasurableSet.iInter {A : ℕ → Set ℝ} (hA : ∀ n, MeasurableSet (A n)) :
MeasurableSet (⋂ n, A n) := A:ℕ → Set ℝhA:∀ (n : ℕ), MeasurableSet (A n)⊢ MeasurableSet (⋂ n, A n)
have hEq : (⋂ n, A n) = (⋃ n, (A n)ᶜ)ᶜ := A:ℕ → Set ℝhA:∀ (n : ℕ), MeasurableSet (A n)⊢ MeasurableSet (⋂ n, A n)
A:ℕ → Set ℝhA:∀ (n : ℕ), MeasurableSet (A n)x:ℝ⊢ x ∈ ⋂ n, A n ↔ x ∈ (⋃ n, (A n)ᶜ)ᶜ
All goals completed! 🐙
A:ℕ → Set ℝhA:∀ (n : ℕ), MeasurableSet (A n)hEq:⋂ n, A n = (⋃ n, (A n)ᶜ)ᶜ :=
ext fun x =>
of_eq_true
(Eq.trans
(congr (congrArg Iff mem_iInter._simp_1)
(Eq.trans
(congrFun'
(congrArg Membership.mem
(Eq.trans (compl_iUnion fun i => (A i)ᶜ) (congrArg Set.iInter (funext fun i => compl_compl (A i)))))
x)
mem_iInter._simp_1))
(iff_self (∀ (i : ℕ), x ∈ A i)))⊢ MeasurableSet (⋃ n, (A n)ᶜ)ᶜ
All goals completed! 🐙
補題.
可測集合の和集合、補集合、共通部分は可測である。
Lean code
theorem MeasurableSet.union {A₁ A₂ : Set ℝ} (h₁ : MeasurableSet A₁) (h₂ : MeasurableSet A₂) :
MeasurableSet (A₁ ∪ A₂) := A₁:Set ℝA₂:Set ℝh₁:MeasurableSet A₁h₂:MeasurableSet A₂⊢ MeasurableSet (A₁ ∪ A₂)
A₁:Set ℝA₂:Set ℝh₁:MeasurableSet A₁h₂:MeasurableSet A₂⊢ MeasurableSet (⋃ b, bif b then A₁ else A₂)
All goals completed! 🐙theorem MeasurableSet.compl {A : Set ℝ} (hA : MeasurableSet A) :
MeasurableSet Aᶜ :=
MeasurableSet.compl' A hAtheorem MeasurableSet.inter {A₁ A₂ : Set ℝ} (h₁ : MeasurableSet A₁) (h₂ : MeasurableSet A₂) :
MeasurableSet (A₁ ∩ A₂) := A₁:Set ℝA₂:Set ℝh₁:MeasurableSet A₁h₂:MeasurableSet A₂⊢ MeasurableSet (A₁ ∩ A₂)
A₁:Set ℝA₂:Set ℝh₁:MeasurableSet A₁h₂:MeasurableSet A₂⊢ MeasurableSet (A₁ᶜ ∪ A₂ᶜ)ᶜ
All goals completed! 🐙
補題.
区間
[a,\infty), (-\infty,a), (a,\infty), (-\infty,a],
(a,b], [a,b), [a,b], (a,b)
および一点集合 \{a\} は可測である。
Lean code
theorem measurableSet_Ici (a : ℝ) : MeasurableSet (Set.Ici a) := a:ℝ⊢ MeasurableSet (Ici a)
All goals completed! 🐙theorem measurableSet_Iio (a : ℝ) : MeasurableSet (Set.Iio a) := a:ℝ⊢ MeasurableSet (Iio a)
a:ℝ⊢ MeasurableSet (Ici a)ᶜ
a:ℝ⊢ MeasurableSet (Ici a)
All goals completed! 🐙theorem measurableSet_Ioi (a : ℝ) : MeasurableSet (Set.Ioi a) := a:ℝ⊢ MeasurableSet (Ioi a)
a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi i⊢ MeasurableSet (Ioi a)
have : Set.Ioi a = ⋃ b ∈ A, Set.Ici b := a:ℝ⊢ MeasurableSet (Ioi a)
refine Subset.antisymm ?_ <| iUnion₂_subset fun b hb ↦ a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi ib:ℝhb:b ∈ A⊢ Ici b ⊆ Ioi a All goals completed! 🐙
a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi i⊢ Ioi a ⊆ ⋃ i ∈ A, Ioi i
a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi i⊢ ∀ (x : ℝ), a < x → ∃ i, a < i ∧ i < x
intro b a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi ib:ℝhab:a < b⊢ ∃ i, a < i ∧ i < b
All goals completed! 🐙
a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi ithis:Ioi a = ⋃ b ∈ A, Ici b :=
Subset.antisymm
(Subset.trans
(Eq.mpr
(id
(Eq.trans
(congrArg (Subset (Ioi a))
(Eq.trans hAU
(congrArg iUnion
(funext fun i => iUnion_congr_Prop (Iff.of_eq measurableSet_Ioi._simp_1) fun x => Eq.refl (Ioi i)))))
(forall_congr fun x =>
implies_congr measurableSet_Ioi._simp_1
(Eq.trans measurableSet_Ioi._simp_2
(congrArg Exists
(funext fun i =>
Eq.trans measurableSet_Ioi._simp_2
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq measurableSet_Ioi._simp_1)
(Iff.of_eq (Eq.refl (a < i)))))
measurableSet_Ioi._simp_3)))))))
fun b hab => exists_between hab)
(iUnion₂_mono fun x x_1 => Ioi_subset_Ici_self))
(iUnion₂_subset fun b hb => measurableSet_Ioi._proof_1 a A haA b hb)⊢ MeasurableSet (⋃ b ∈ A, Ici b)
a:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi ithis:Ioi a = ⋃ b ∈ A, Ici b :=
Subset.antisymm
(Subset.trans
(Eq.mpr
(id
(Eq.trans
(congrArg (Subset (Ioi a))
(Eq.trans hAU
(congrArg iUnion
(funext fun i => iUnion_congr_Prop (Iff.of_eq measurableSet_Ioi._simp_1) fun x => Eq.refl (Ioi i)))))
(forall_congr fun x =>
implies_congr measurableSet_Ioi._simp_1
(Eq.trans measurableSet_Ioi._simp_2
(congrArg Exists
(funext fun i =>
Eq.trans measurableSet_Ioi._simp_2
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq measurableSet_Ioi._simp_1)
(Iff.of_eq (Eq.refl (a < i)))))
measurableSet_Ioi._simp_3)))))))
fun b hab => exists_between hab)
(iUnion₂_mono fun x x_1 => Ioi_subset_Ici_self))
(iUnion₂_subset fun b hb => measurableSet_Ioi._proof_1 a A haA b hb)⊢ ∀ b ∈ A, MeasurableSet (Ici b)
intro a a✝:ℝA:Set ℝhaA:A ⊆ Ioi ahAc:A.CountablehAU:⋃ i ∈ A, Ioi i = ⋃ i ∈ Ioi a, Ioi ithis:Ioi a = ⋃ b ∈ A, Ici b :=
Subset.antisymm
(Subset.trans
(Eq.mpr
(id
(Eq.trans
(congrArg (Subset (Ioi a))
(Eq.trans hAU
(congrArg iUnion
(funext fun i => iUnion_congr_Prop (Iff.of_eq measurableSet_Ioi._simp_1) fun x => Eq.refl (Ioi i)))))
(forall_congr fun x =>
implies_congr measurableSet_Ioi._simp_1
(Eq.trans measurableSet_Ioi._simp_2
(congrArg Exists
(funext fun i =>
Eq.trans measurableSet_Ioi._simp_2
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq measurableSet_Ioi._simp_1)
(Iff.of_eq (Eq.refl (a < i)))))
measurableSet_Ioi._simp_3)))))))
fun b hab => exists_between hab)
(iUnion₂_mono fun x x_1 => Ioi_subset_Ici_self))
(iUnion₂_subset fun b hb => measurableSet_Ioi._proof_1 a A haA b hb)a:ℝha:a ∈ A⊢ MeasurableSet (Ici a)
All goals completed! 🐙theorem measurableSet_Iic (a : ℝ) : MeasurableSet (Set.Iic a) := a:ℝ⊢ MeasurableSet (Iic a)
a:ℝ⊢ MeasurableSet (Ioi a)ᶜ
a:ℝ⊢ MeasurableSet (Ioi a)
All goals completed! 🐙theorem measurableSet_Ioc (a b : ℝ) : MeasurableSet (Set.Ioc a b) := a:ℝb:ℝ⊢ MeasurableSet (Ioc a b)
have : Set.Ioc a b = Set.Ioi a ∩ Set.Iic b := a:ℝb:ℝ⊢ MeasurableSet (Ioc a b) All goals completed! 🐙
a:ℝb:ℝthis:Ioc a b = Ioi a ∩ Iic b := measurableSet_Ioc._proof_1 a b⊢ MeasurableSet (Ioi a ∩ Iic b)
All goals completed! 🐙theorem measurableSet_Ico (a b : ℝ) : MeasurableSet (Set.Ico a b) := a:ℝb:ℝ⊢ MeasurableSet (Ico a b)
have : Set.Ico a b = Set.Ici a ∩ Set.Iio b := a:ℝb:ℝ⊢ MeasurableSet (Ico a b) All goals completed! 🐙
a:ℝb:ℝthis:Ico a b = Ici a ∩ Iio b := measurableSet_Ico._proof_1 a b⊢ MeasurableSet (Ici a ∩ Iio b)
All goals completed! 🐙theorem measurableSet_Icc (a b : ℝ) : MeasurableSet (Set.Icc a b) := a:ℝb:ℝ⊢ MeasurableSet (Icc a b)
have : Set.Icc a b = Set.Iic b ∩ Set.Ici a := a:ℝb:ℝ⊢ MeasurableSet (Icc a b) All goals completed! 🐙
a:ℝb:ℝthis:Icc a b = Iic b ∩ Ici a := measurableSet_Icc._proof_1 a b⊢ MeasurableSet (Iic b ∩ Ici a)
All goals completed! 🐙theorem measurableSet_Ioo (a b : ℝ) : MeasurableSet (Set.Ioo a b) := a:ℝb:ℝ⊢ MeasurableSet (Ioo a b)
have : Set.Ioo a b = Set.Ioi a ∩ Set.Iio b := a:ℝb:ℝ⊢ MeasurableSet (Ioo a b) All goals completed! 🐙
a:ℝb:ℝthis:Ioo a b = Ioi a ∩ Iio b := measurableSet_Ioo._proof_1 a b⊢ MeasurableSet (Ioi a ∩ Iio b)
All goals completed! 🐙theorem measurableSet_singleton (a : ℝ) : MeasurableSet ({a} : Set ℝ) := a:ℝ⊢ MeasurableSet {a}
have : ({a} : Set ℝ) = Set.Iic a ∩ Set.Ici a := a:ℝ⊢ MeasurableSet {a} All goals completed! 🐙
a:ℝthis:{a} = Iic a ∩ Ici a := measurableSet_singleton._proof_1 a⊢ MeasurableSet (Iic a ∩ Ici a)
All goals completed! 🐙