@@ -20,7 +20,8 @@ In particular, if `#s ≤ 𝔠`, then the generated sigma-algebra has cardinalit
20
20
For the proof, we rely on an explicit inductive construction of the sigma-algebra generated by
21
21
`s` (instead of the inductive predicate `generate_measurable`). This transfinite inductive
22
22
construction is parameterized by an ordinal `< ω₁`, and the cardinality bound is preserved along
23
- each step of the construction.
23
+ each step of the construction. We show in `measurable_space.generate_measurable_eq_rec` that this
24
+ indeed generates this sigma-algebra.
24
25
-/
25
26
26
27
universe u
@@ -29,21 +30,61 @@ variables {α : Type u}
29
30
open_locale cardinal
30
31
open cardinal set
31
32
32
- local notation `ω₁ `:= (aleph 1 : cardinal.{u}).ord.out.α
33
+ local notation `ω₁ ` := (aleph 1 : cardinal.{u}).ord.out.α
33
34
34
35
namespace measurable_space
35
36
36
37
/-- Transfinite induction construction of the sigma-algebra generated by a set of sets `s`. At each
37
38
step, we add all elements of `s`, the empty set, the complements of already constructed sets, and
38
39
countable unions of already constructed sets. We index this construction by an ordinal `< ω₁`, as
39
- this will be enough to generate all sets in the sigma-algebra. -/
40
+ this will be enough to generate all sets in the sigma-algebra.
41
+
42
+ This construction is very similar to that of the Borel hierarchy. -/
40
43
def generate_measurable_rec (s : set (set α)) : ω₁ → set (set α)
41
44
| i := let S := ⋃ j : {j // j < i}, generate_measurable_rec j.1 in
42
- s ∪ {∅} ∪ compl '' S ∪ ( set.range (λ (f : ℕ → S), ⋃ n, (f n).1 ) )
45
+ s ∪ {∅} ∪ compl '' S ∪ set.range (λ (f : ℕ → S), ⋃ n, (f n).1 )
43
46
using_well_founded {dec_tac := `[exact j.2 ]}
44
47
45
- /-- At each step of the inductive construction, the cardinality bound `≤ (max (#s) 2) ^ ω`
46
- holds. -/
48
+ theorem self_subset_generate_measurable_rec (s : set (set α)) (i : ω₁) :
49
+ s ⊆ generate_measurable_rec s i :=
50
+ begin
51
+ unfold generate_measurable_rec,
52
+ apply_rules [subset_union_of_subset_left],
53
+ exact subset_rfl
54
+ end
55
+
56
+ theorem empty_mem_generate_measurable_rec (s : set (set α)) (i : ω₁) :
57
+ ∅ ∈ generate_measurable_rec s i :=
58
+ begin
59
+ unfold generate_measurable_rec,
60
+ exact mem_union_left _ (mem_union_left _ (mem_union_right _ (mem_singleton ∅)))
61
+ end
62
+
63
+ theorem compl_mem_generate_measurable_rec {s : set (set α)} {i j : ω₁} (h : j < i) {t : set α}
64
+ (ht : t ∈ generate_measurable_rec s j) : tᶜ ∈ generate_measurable_rec s i :=
65
+ begin
66
+ unfold generate_measurable_rec,
67
+ exact mem_union_left _ (mem_union_right _ ⟨t, mem_Union.2 ⟨⟨j, h⟩, ht⟩, rfl⟩)
68
+ end
69
+
70
+ theorem Union_mem_generate_measurable_rec {s : set (set α)} {i : ω₁}
71
+ {f : ℕ → set α} (hf : ∀ n, ∃ j < i, f n ∈ generate_measurable_rec s j) :
72
+ (⋃ n, f n) ∈ generate_measurable_rec s i :=
73
+ begin
74
+ unfold generate_measurable_rec,
75
+ exact mem_union_right _ ⟨λ n, ⟨f n, let ⟨j, hj, hf⟩ := hf n in mem_Union.2 ⟨⟨j, hj⟩, hf⟩⟩, rfl⟩
76
+ end
77
+
78
+ theorem generate_measurable_rec_subset (s : set (set α)) {i j : ω₁} (h : i ≤ j) :
79
+ generate_measurable_rec s i ⊆ generate_measurable_rec s j :=
80
+ λ x hx, begin
81
+ rcases eq_or_lt_of_le h with rfl | h,
82
+ { exact hx },
83
+ { convert Union_mem_generate_measurable_rec (λ n, ⟨i, h, hx⟩),
84
+ exact (Union_const x).symm }
85
+ end
86
+
87
+ /-- At each step of the inductive construction, the cardinality bound `≤ (max (#s) 2) ^ ω` holds. -/
47
88
lemma cardinal_generate_measurable_rec_le (s : set (set α)) (i : ω₁) :
48
89
#(generate_measurable_rec s i) ≤ (max (#s) 2 ) ^ omega.{u} :=
49
90
begin
@@ -52,14 +93,12 @@ begin
52
93
have A := omega_le_aleph 1 ,
53
94
have B : aleph 1 ≤ (max (#s) 2 ) ^ omega.{u} :=
54
95
aleph_one_le_continuum.trans (power_le_power_right (le_max_right _ _)),
55
- have C : omega.{u} ≤ (max (#s) 2 ) ^ omega.{u} := A.trans B,
96
+ have C : ω ≤ (max (#s) 2 ) ^ omega.{u} := A.trans B,
56
97
have J : #(⋃ (j : {j // j < i}), generate_measurable_rec s j.1 ) ≤ (max (#s) 2 ) ^ omega.{u},
57
98
{ apply (mk_Union_le _).trans,
58
- have D : # {j // j < i} ≤ aleph 1 := (mk_subtype_le _).trans (le_of_eq (aleph 1 ).mk_ord_out),
59
- have E : cardinal.sup.{u u}
60
- (λ (j : {j // j < i}), #(generate_measurable_rec s j.1 )) ≤ (max (#s) 2 ) ^ omega.{u} :=
61
- cardinal.sup_le (λ ⟨j, hj⟩, IH j hj),
62
- apply (mul_le_mul' D E).trans,
99
+ have D : cardinal.sup.{u u} (λ (j : {j // j < i}), #(generate_measurable_rec s j.1 )) ≤ _ :=
100
+ cardinal.sup_le (λ ⟨j, hj⟩, IH j hj),
101
+ apply (mul_le_mul' ((mk_subtype_le _).trans (aleph 1 ).mk_ord_out.le) D).trans,
63
102
rw mul_eq_max A C,
64
103
exact max_le B le_rfl },
65
104
rw [generate_measurable_rec],
@@ -69,70 +108,61 @@ begin
69
108
exact one_lt_omega.le.trans C },
70
109
{ apply mk_range_le.trans,
71
110
simp only [mk_pi, subtype.val_eq_coe, prod_const, lift_uzero, mk_denumerable, lift_omega],
72
- have := @power_le_power_right _ _ omega.{u} J,
111
+ have := @power_le_power_right _ _ ω J,
73
112
rwa [← power_mul, omega_mul_omega] at this }
74
113
end
75
114
76
- lemma cardinal_Union_generate_measurable_rec_le (s : set (set α)) :
77
- #(⋃ i, generate_measurable_rec s i) ≤ (max (#s) 2 ) ^ omega.{u} :=
115
+ /-- `generate_measurable_rec s` generates precisely the smallest sigma-algebra containing `s`. -/
116
+ theorem generate_measurable_eq_rec (s : set (set α)) :
117
+ {t | generate_measurable s t} = ⋃ i, generate_measurable_rec s i :=
78
118
begin
119
+ ext t, refine ⟨λ ht, _, λ ht, _⟩,
120
+ { inhabit ω₁,
121
+ induction ht with u hu u hu IH f hf IH,
122
+ { exact mem_Union.2 ⟨default, self_subset_generate_measurable_rec s _ hu⟩ },
123
+ { exact mem_Union.2 ⟨default, empty_mem_generate_measurable_rec s _⟩ },
124
+ { rcases mem_Union.1 IH with ⟨i, hi⟩,
125
+ obtain ⟨j, hj⟩ := exists_gt i,
126
+ exact mem_Union.2 ⟨j, compl_mem_generate_measurable_rec hj hi⟩ },
127
+ { have : ∀ n, ∃ i, f n ∈ generate_measurable_rec s i := λ n, by simpa using IH n,
128
+ choose I hI using this ,
129
+ refine mem_Union.2 ⟨ordinal.enum (<) (ordinal.lsub (λ n, ordinal.typein.{u} (<) (I n))) _,
130
+ Union_mem_generate_measurable_rec (λ n, ⟨I n, _, hI n⟩)⟩,
131
+ { rw ordinal.type_lt,
132
+ refine ordinal.lsub_lt_ord_lift _ (λ i, ordinal.typein_lt_self _),
133
+ rw [mk_denumerable, lift_omega, is_regular_aleph_one.2 ],
134
+ exact omega_lt_aleph_one },
135
+ { rw [←ordinal.typein_lt_typein (<), ordinal.typein_enum],
136
+ apply ordinal.lt_lsub (λ n : ℕ, _) } } },
137
+ { rcases ht with ⟨t, ⟨i, rfl⟩, hx⟩,
138
+ revert t,
139
+ apply (aleph 1 ).ord.out.wo.wf.induction i,
140
+ intros j H t ht,
141
+ unfold generate_measurable_rec at ht,
142
+ rcases ht with (((h | h) | ⟨u, ⟨-, ⟨⟨k, hk⟩, rfl⟩, hu⟩, rfl⟩) | ⟨f, rfl⟩),
143
+ { exact generate_measurable.basic t h },
144
+ { convert generate_measurable.empty },
145
+ { exact generate_measurable.compl u (H k hk u hu) },
146
+ { apply generate_measurable.union _ (λ n, _),
147
+ obtain ⟨-, ⟨⟨k, hk⟩, rfl⟩, hf⟩ := (f n).prop,
148
+ exact H k hk _ hf } }
149
+ end
150
+
151
+ /-- If a sigma-algebra is generated by a set of sets `s`, then the sigma-algebra has cardinality at
152
+ most `(max (#s) 2) ^ ω`. -/
153
+ theorem cardinal_generate_measurable_le (s : set (set α)) :
154
+ #{t | generate_measurable s t} ≤ (max (#s) 2 ) ^ omega.{u} :=
155
+ begin
156
+ rw generate_measurable_eq_rec,
79
157
apply (mk_Union_le _).trans,
80
- rw [ (aleph 1 ).mk_ord_out] ,
158
+ rw (aleph 1 ).mk_ord_out,
81
159
refine le_trans (mul_le_mul' aleph_one_le_continuum
82
160
(cardinal.sup_le (λ i, cardinal_generate_measurable_rec_le s i))) _,
83
161
have := power_le_power_right (le_max_right (#s) 2 ),
84
162
rw mul_eq_max omega_le_continuum (omega_le_continuum.trans this ),
85
163
exact max_le this le_rfl
86
164
end
87
165
88
- /-- A set in the sigma-algebra generated by a set of sets `s` is constructed at some step of the
89
- transfinite induction defining `generate_measurable_rec`.
90
- The other inclusion is also true, but not proved here as it is not needed for the cardinality
91
- bounds.-/
92
- theorem generate_measurable_subset_rec (s : set (set α)) ⦃t : set α⦄
93
- (ht : generate_measurable s t) :
94
- t ∈ ⋃ i, generate_measurable_rec s i :=
95
- begin
96
- inhabit ω₁,
97
- induction ht with u hu u hu IH f hf IH,
98
- { refine mem_Union.2 ⟨default, _⟩,
99
- rw generate_measurable_rec,
100
- simp only [hu, mem_union_eq, true_or] },
101
- { refine mem_Union.2 ⟨default, _⟩,
102
- rw generate_measurable_rec,
103
- simp only [union_singleton, mem_union_eq, mem_insert_iff, eq_self_iff_true, true_or] },
104
- { rcases mem_Union.1 IH with ⟨i, hi⟩,
105
- obtain ⟨j, hj⟩ : ∃ j, i < j := ordinal.has_succ_of_type_succ_lt
106
- (by { rw ordinal.type_lt, exact (ord_aleph_is_limit 1 ).2 }) _,
107
- apply mem_Union.2 ⟨j, _⟩,
108
- rw generate_measurable_rec,
109
- have : ∃ a, (a < j) ∧ u ∈ generate_measurable_rec s a := ⟨i, hj, hi⟩,
110
- simp [this ] },
111
- { have : ∀ n, ∃ i, f n ∈ generate_measurable_rec s i := λ n, by simpa using IH n,
112
- choose I hI using this ,
113
- obtain ⟨j, hj⟩ : ∃ j, ∀ k, k ∈ range I → (k < j),
114
- { apply ordinal.lt_cof_type,
115
- simp only [is_regular_aleph_one.2 , mk_singleton, ordinal.type_lt],
116
- have : #(range I) = lift.{0 } (#(range I)), by simp only [lift_uzero],
117
- rw this ,
118
- apply mk_range_le_lift.trans_lt _,
119
- simp [omega_lt_aleph_one] },
120
- apply mem_Union.2 ⟨j, _⟩,
121
- rw generate_measurable_rec,
122
- have : ∃ (g : ℕ → (↥⋃ (i : {i // i < j}), generate_measurable_rec s i.1 )),
123
- (⋃ (n : ℕ), ↑(g n)) = (⋃ n, f n),
124
- { refine ⟨λ n, ⟨f n, _⟩, rfl⟩,
125
- exact mem_Union.2 ⟨⟨I n, hj (I n) (mem_range_self _)⟩, hI n⟩ },
126
- simp [this ] }
127
- end
128
-
129
- /-- If a sigma-algebra is generated by a set of sets `s`, then the sigma
130
- algebra has cardinality at most `(max (#s) 2) ^ ω`. -/
131
- theorem cardinal_generate_measurable_le (s : set (set α)) :
132
- #{t | generate_measurable s t} ≤ (max (#s) 2 ) ^ omega.{u} :=
133
- (mk_subtype_le_of_subset (generate_measurable_subset_rec s)).trans
134
- (cardinal_Union_generate_measurable_rec_le s)
135
-
136
166
/-- If a sigma-algebra is generated by a set of sets `s`, then the sigma
137
167
algebra has cardinality at most `(max (#s) 2) ^ ω`. -/
138
168
theorem cardinal_measurable_set_le (s : set (set α)) :
@@ -143,17 +173,15 @@ cardinal_generate_measurable_le s
143
173
then the sigma algebra has the same cardinality bound. -/
144
174
theorem cardinal_generate_measurable_le_continuum {s : set (set α)} (hs : #s ≤ 𝔠) :
145
175
#{t | generate_measurable s t} ≤ 𝔠 :=
146
- calc
147
- #{t | generate_measurable s t}
148
- ≤ (max (#s) 2 ) ^ omega.{u} : cardinal_generate_measurable_le s
149
- ... ≤ 𝔠 ^ omega.{u} :
150
- by exact_mod_cast power_le_power_right (max_le hs (nat_lt_continuum 2 ).le)
151
- ... = 𝔠 : continuum_power_omega
176
+ (cardinal_generate_measurable_le s).trans begin
177
+ rw ←continuum_power_omega,
178
+ exact_mod_cast power_le_power_right (max_le hs (nat_lt_continuum 2 ).le)
179
+ end
152
180
153
181
/-- If a sigma-algebra is generated by a set of sets `s` with cardinality at most the continuum,
154
182
then the sigma algebra has the same cardinality bound. -/
155
- theorem cardinal_measurable_set_le_continuum {s : set (set α)} (hs : #s ≤ 𝔠) :
156
- #{t | @measurable_set α (generate_from s) t} ≤ 𝔠 :=
157
- cardinal_generate_measurable_le_continuum hs
183
+ theorem cardinal_measurable_set_le_continuum {s : set (set α)} :
184
+ #s ≤ 𝔠 → # {t | @measurable_set α (generate_from s) t} ≤ 𝔠 :=
185
+ cardinal_generate_measurable_le_continuum
158
186
159
187
end measurable_space
0 commit comments