@@ -143,6 +143,49 @@ have (λs:finset β, s.sum (g ∘ f)) = g ∘ (λs:finset β, s.sum f),
143
143
show tendsto (λs:finset β, s.sum (g ∘ f)) at_top (nhds (g a)),
144
144
by rw [this ]; exact tendsto_compose hf (continuous_iff_tendsto.mp h₃ a)
145
145
146
+ lemma is_sum_sigma [regular_space α] {γ : β → Type *} {f : (Σ b:β, γ b) → α} {g : β → α} {a : α}
147
+ (hf : ∀b, is_sum (λc, f ⟨b, c⟩) (g b)) (ha : is_sum f a) : is_sum g a :=
148
+ assume s' hs',
149
+ let
150
+ ⟨s, hs, hss', hsc⟩ := nhds_is_closed hs',
151
+ ⟨u, hu⟩ := mem_at_top_iff.mp $ ha $ hs,
152
+ fsts := u.image sigma.fst,
153
+ snds := λb, u.bind (λp, (if h : p.1 = b then {cast (congr_arg γ h) p.2 } else ∅ : finset (γ b)))
154
+ in
155
+ have u_subset : u ⊆ fsts.sigma snds,
156
+ from subset_iff.mpr $ assume ⟨b, c⟩ hu,
157
+ have hb : b ∈ fsts, from mem_image_iff.mpr ⟨_, hu, rfl⟩,
158
+ have hc : c ∈ snds b, from mem_bind_iff.mpr ⟨_, hu, by simp; refl⟩,
159
+ by simp [mem_sigma_iff, hb, hc] ,
160
+ mem_at_top_iff.mpr $ exists.intro fsts $ assume bs (hbs : fsts ⊆ bs),
161
+ have h : ∀cs:(Πb, b ∈ bs → finset (γ b)),
162
+ (⋂b (hb : b ∈ bs), (λp:Πb, finset (γ b), p b) ⁻¹' {cs' | cs b hb ⊆ cs' }) ∩
163
+ (λp, bs.sum (λb, (p b).sum (λc, f ⟨b, c⟩))) ⁻¹' s ≠ ∅,
164
+ from assume cs,
165
+ let cs' := λb, (if h : b ∈ bs then cs b h else ∅) ∪ snds b in
166
+ have sum_eq : bs.sum (λb, (cs' b).sum (λc, f ⟨b, c⟩)) = (bs.sigma cs').sum f,
167
+ from sum_sigma.symm,
168
+ have (bs.sigma cs').sum f ∈ s,
169
+ from hu _ $ subset.trans u_subset $ sigma_mono hbs $
170
+ assume b, @finset.subset_union_right (γ b) _ _ _,
171
+ ne_empty_iff_exists_mem.mpr $ exists.intro cs' $
172
+ by simp [sum_eq, this ]; { intros b hb, simp [cs', hb, finset.subset_union_right] },
173
+ have tendsto (λp:(Πb:β, finset (γ b)), bs.sum (λb, (p b).sum (λc, f ⟨b, c⟩)))
174
+ (⨅b (h : b ∈ bs), at_top.vmap (λp, p b)) (nhds (bs.sum g)),
175
+ from tendsto_sum $
176
+ assume c hc, tendsto_infi' c $ tendsto_infi' hc $ tendsto_compose tendsto_vmap (hf c),
177
+ have bs.sum g ∈ s,
178
+ from mem_closure_of_tendsto this hsc $ forall_sets_neq_empty_iff_neq_bot.mp $
179
+ by simp [mem_inf_sets, exists_imp_distrib, and_imp, forall_and_distrib',
180
+ filter.mem_infi_sets_finset, mem_vmap, skolem, mem_at_top_iff];
181
+ from
182
+ assume s₁ s₂ s₃ hs₁ hs₃ p hs₂ p' hp cs hp',
183
+ have (⋂b (h : b ∈ bs), (λp:(Πb, finset (γ b)), p b) ⁻¹' {cs' | cs b h ⊆ cs' }) ≤ (⨅b∈bs, p b),
184
+ from infi_le_infi $ assume b, infi_le_infi $ assume hb,
185
+ le_trans (preimage_mono $ hp' b hb) (hp b hb),
186
+ neq_bot_of_le_neq_bot (h _) (le_trans (inter_subset_inter (le_trans this hs₂) hs₃) hs₁),
187
+ hss' this
188
+
146
189
end is_sum
147
190
148
191
section is_sum_iff_is_sum_of_iso_ne_zero
@@ -203,67 +246,6 @@ iff.intro (is_sum_of_is_sum_ne_zero h₂ h₁ h₄ h₃) (is_sum_of_is_sum_ne_ze
203
246
204
247
end is_sum_iff_is_sum_of_iso_ne_zero
205
248
206
- lemma is_sum_sigma
207
- [add_comm_monoid α] [topological_space α] [topological_add_monoid α] [regular_space α]
208
- {γ : β → Type *} {f : (Σ b:β, γ b) → α} {g : β → α} {a : α}
209
- (hf : ∀b, is_sum (λc, f ⟨b, c⟩) (g b)) (ha : is_sum f a) : is_sum g a :=
210
- assume s' hs',
211
- let
212
- ⟨s, hs, hss', hsc⟩ := nhds_is_closed hs',
213
- ⟨u, hu⟩ := mem_at_top_iff.mp $ ha $ hs,
214
- fsts := u.image sigma.fst,
215
- snds := λb, u.bind (λp, (if h : p.1 = b then {cast (congr_arg γ h) p.2 } else ∅ : finset (γ b)))
216
- in
217
- have sig_inj : ∀b, ∀c₁ c₂ : γ b, sigma.mk b c₁ = sigma.mk b c₂ ↔ c₁ = c₂,
218
- from assume b c₁ c₂, ⟨assume h, by cases h; refl, assume h, by simp *⟩,
219
- have sig_image_inj : ∀b₁ b₂, ∀s₁ : finset (γ b₁), ∀s₂ : finset (γ b₂), b₁ ≠ b₂ →
220
- s₁.image (sigma.mk b₁) ∩ s₂.image (sigma.mk b₂) = ∅,
221
- from assume b₁ b₂ s₁ s₂ h, ext $ assume ⟨b₃, c₃⟩,
222
- by simp [mem_image_iff];
223
- from assume c₁ h₁ eq₁ c₂ h₂ eq₂,
224
- have h₁ : b₁ = b₃, from congr_arg sigma.fst eq₁,
225
- have h₂ : b₂ = b₃, from congr_arg sigma.fst eq₂,
226
- h $ by simp [h₁, h₂],
227
- mem_at_top_iff.mpr $ exists.intro fsts $ assume bs (hbs : fsts ⊆ bs),
228
- have h : ∀cs:(Πb, b ∈ bs → finset (γ b)),
229
- (⋂b (hb : b ∈ bs), (λp:Πb, finset (γ b), p b) ⁻¹' {cs' | cs b hb ⊆ cs' }) ∩
230
- (λp, bs.sum (λb, (p b).sum (λc, f ⟨b, c⟩))) ⁻¹' s ≠ ∅,
231
- from assume cs,
232
- let cs' := λb, (if h : b ∈ bs then cs b h else ∅) ∪ snds b in
233
- let sig : finset (sigma γ) := bs.bind (λb, (cs' b).image (λc, ⟨b, c⟩)) in
234
- have sum_eq : bs.sum (λb, (cs' b).sum (λc, f ⟨b, c⟩)) = sig.sum f,
235
- from calc bs.sum (λb, (cs' b).sum (λc, f ⟨b, c⟩)) =
236
- bs.sum (λb, ((cs' b).image (@sigma.mk β γ b)).sum f) :
237
- by simp [sum_image, sig_inj]
238
- ... = sig.sum f :
239
- (sum_bind $ assume b₁ hb b₂ hb₂ h, sig_image_inj b₁ b₂ (cs' b₁) (cs' b₂) h).symm,
240
- have sig.sum f ∈ s,
241
- from hu _ $ subset_iff.mpr $ show ∀x:sigma γ, x ∈ u → x ∈ sig,
242
- from assume ⟨b, c⟩ hbc,
243
- have hb : b ∈ fsts, from mem_image_iff.mpr ⟨_, hbc, rfl⟩,
244
- have hb' : b ∈ bs, from mem_of_subset_of_mem hbs hb,
245
- have hc : c ∈ snds b, from mem_bind_iff.mpr ⟨_, hbc, by simp; refl⟩,
246
- have hc' : c ∈ cs' b, by simp [hb', hc],
247
- by simp [sig, mem_bind_iff];
248
- from ⟨b, hb', mem_image_iff.mpr ⟨c, hc', rfl⟩⟩,
249
- ne_empty_iff_exists_mem.mpr $ exists.intro cs' $
250
- by simp [sum_eq, this ]; { intros b hb, simp [cs', hb, finset.subset_union_right] },
251
- have tendsto (λp:(Πb:β, finset (γ b)), bs.sum (λb, (p b).sum (λc, f ⟨b, c⟩)))
252
- (⨅b (h : b ∈ bs), at_top.vmap (λp, p b)) (nhds (bs.sum g)),
253
- from tendsto_sum $
254
- assume c hc, tendsto_infi' c $ tendsto_infi' hc $ tendsto_compose tendsto_vmap (hf c),
255
- have bs.sum g ∈ s,
256
- from mem_closure_of_tendsto this hsc $ forall_sets_neq_empty_iff_neq_bot.mp $
257
- by simp [mem_inf_sets, exists_imp_distrib, and_imp, forall_and_distrib',
258
- filter.mem_infi_sets_finset, mem_vmap, skolem, mem_at_top_iff];
259
- from
260
- assume s₁ s₂ s₃ hs₁ hs₃ p hs₂ p' hp cs hp',
261
- have (⋂b (h : b ∈ bs), (λp:(Πb, finset (γ b)), p b) ⁻¹' {cs' | cs b h ⊆ cs' }) ≤ (⨅b∈bs, p b),
262
- from infi_le_infi $ assume b, infi_le_infi $ assume hb,
263
- le_trans (preimage_mono $ hp' b hb) (hp b hb),
264
- neq_bot_of_le_neq_bot (h _) (le_trans (inter_subset_inter (le_trans this hs₂) hs₃) hs₁),
265
- hss' this
266
-
267
249
section topological_group
268
250
variables [add_comm_group α] [uniform_space α] [complete_space α] [uniform_add_group α]
269
251
variables {f g : β → α} {a a₁ a₂ : α}
0 commit comments