@@ -8,6 +8,7 @@ import topology.instances.real
8
8
import topology.algebra.module
9
9
import data.indicator_function
10
10
import data.equiv.encodable.lattice
11
+ import data.nat.parity
11
12
import order.filter.at_top_bot
12
13
13
14
/-!
@@ -150,6 +151,10 @@ lemma equiv.has_sum_iff (e : γ ≃ β) :
150
151
has_sum (f ∘ e) a ↔ has_sum f a :=
151
152
e.injective.has_sum_iff $ by simp
152
153
154
+ lemma function.injective.has_sum_range_iff {g : γ → β} (hg : injective g) :
155
+ has_sum (λ x : set.range g, f x) a ↔ has_sum (f ∘ g) a :=
156
+ (equiv.set.range g hg).has_sum_iff.symm
157
+
153
158
lemma equiv.summable_iff (e : γ ≃ β) :
154
159
summable (f ∘ e) ↔ summable f :=
155
160
exists_congr $ λ a, e.has_sum_iff
@@ -231,10 +236,25 @@ lemma summable_sum {f : γ → β → α} {s : finset γ} (hf : ∀i∈s, summab
231
236
summable (λb, ∑ i in s, f i b) :=
232
237
(has_sum_sum $ assume i hi, (hf i hi).has_sum).summable
233
238
239
+ lemma has_sum.add_disjoint {s t : set β} (hs : disjoint s t)
240
+ (ha : has_sum (f ∘ coe : s → α) a) (hb : has_sum (f ∘ coe : t → α) b) :
241
+ has_sum (f ∘ coe : s ∪ t → α) (a + b) :=
242
+ begin
243
+ rw has_sum_subtype_iff_indicator at *,
244
+ rw set.indicator_union_of_disjoint hs,
245
+ exact ha.add hb
246
+ end
247
+
248
+ lemma has_sum.add_is_compl {s t : set β} (hs : is_compl s t)
249
+ (ha : has_sum (f ∘ coe : s → α) a) (hb : has_sum (f ∘ coe : t → α) b) :
250
+ has_sum f (a + b) :=
251
+ by simpa [← hs.compl_eq]
252
+ using (has_sum_subtype_iff_indicator.1 ha).add (has_sum_subtype_iff_indicator.1 hb)
253
+
234
254
lemma has_sum.add_compl {s : set β} (ha : has_sum (f ∘ coe : s → α) a)
235
255
(hb : has_sum (f ∘ coe : sᶜ → α) b) :
236
256
has_sum f (a + b) :=
237
- by simpa using (has_sum_subtype_iff_indicator. 1 ha).add (has_sum_subtype_iff_indicator. 1 hb)
257
+ ha.add_is_compl is_compl_compl hb
238
258
239
259
lemma summable.add_compl {s : set β} (hs : summable (f ∘ coe : s → α))
240
260
(hsc : summable (f ∘ coe : sᶜ → α)) :
@@ -244,13 +264,29 @@ lemma summable.add_compl {s : set β} (hs : summable (f ∘ coe : s → α))
244
264
lemma has_sum.compl_add {s : set β} (ha : has_sum (f ∘ coe : sᶜ → α) a)
245
265
(hb : has_sum (f ∘ coe : s → α) b) :
246
266
has_sum f (a + b) :=
247
- by simpa using (has_sum_subtype_iff_indicator.1 ha).add (has_sum_subtype_iff_indicator.1 hb)
267
+ ha.add_is_compl is_compl_compl.symm hb
268
+
269
+ lemma has_sum.even_add_odd {f : ℕ → α} (he : has_sum (λ k, f (2 * k)) a)
270
+ (ho : has_sum (λ k, f (2 * k + 1 )) b) :
271
+ has_sum f (a + b) :=
272
+ begin
273
+ have := mul_right_injective' (@two_ne_zero ℕ _ _),
274
+ replace he := this.has_sum_range_iff.2 he,
275
+ replace ho := ((add_left_injective 1 ).comp this ).has_sum_range_iff.2 ho,
276
+ refine he.add_is_compl _ ho,
277
+ simpa [(∘)] using nat.is_compl_even_odd
278
+ end
248
279
249
280
lemma summable.compl_add {s : set β} (hs : summable (f ∘ coe : sᶜ → α))
250
281
(hsc : summable (f ∘ coe : s → α)) :
251
282
summable f :=
252
283
(hs.has_sum.compl_add hsc.has_sum).summable
253
284
285
+ lemma summable.even_add_odd {f : ℕ → α} (he : summable (λ k, f (2 * k)))
286
+ (ho : summable (λ k, f (2 * k + 1 ))) :
287
+ summable f :=
288
+ (he.has_sum.even_add_odd ho.has_sum).summable
289
+
254
290
lemma has_sum.sigma [regular_space α] {γ : β → Type *} {f : (Σ b:β, γ b) → α} {g : β → α} {a : α}
255
291
(ha : has_sum f a) (hf : ∀b, has_sum (λc, f ⟨b, c⟩) (g b)) : has_sum g a :=
256
292
begin
464
500
465
501
end encodable
466
502
503
+ variables [has_continuous_add α]
504
+
505
+ lemma tsum_add_tsum_compl {s : set β} (hs : summable (f ∘ coe : s → α))
506
+ (hsc : summable (f ∘ coe : sᶜ → α)) :
507
+ (∑' x : s, f x) + (∑' x : sᶜ, f x) = ∑' x, f x :=
508
+ (hs.has_sum.add_compl hsc.has_sum).tsum_eq.symm
509
+
510
+ lemma tsum_union_disjoint {s t : set β} (hd : disjoint s t)
511
+ (hs : summable (f ∘ coe : s → α)) (ht : summable (f ∘ coe : t → α)) :
512
+ (∑' x : s ∪ t, f x) = (∑' x : s, f x) + (∑' x : t, f x) :=
513
+ (hs.has_sum.add_disjoint hd ht.has_sum).tsum_eq
514
+
515
+ lemma tsum_even_add_odd {f : ℕ → α} (he : summable (λ k, f (2 * k)))
516
+ (ho : summable (λ k, f (2 * k + 1 ))) :
517
+ (∑' k, f (2 * k)) + (∑' k, f (2 * k + 1 )) = ∑' k, f k :=
518
+ (he.has_sum.even_add_odd ho.has_sum).tsum_eq.symm
519
+
467
520
end tsum
468
521
469
522
section pi
@@ -562,11 +615,6 @@ hf.has_sum.neg.tsum_eq
562
615
lemma tsum_sub (hf : summable f) (hg : summable g) : ∑'b, (f b - g b) = ∑'b, f b - ∑'b, g b :=
563
616
(hf.has_sum.sub hg.has_sum).tsum_eq
564
617
565
- lemma tsum_add_tsum_compl {s : set β} (hs : summable (f ∘ coe : s → α))
566
- (hsc : summable (f ∘ coe : sᶜ → α)) :
567
- (∑' x : s, f x) + (∑' x : sᶜ, f x) = ∑' x, f x :=
568
- (hs.has_sum.add_compl hsc.has_sum).tsum_eq.symm
569
-
570
618
lemma sum_add_tsum_compl {s : finset β} (hf : summable f) :
571
619
(∑ x in s, f x) + (∑' x : (↑s : set β)ᶜ, f x) = ∑' x, f x :=
572
620
((s.has_sum f).add_compl (s.summable_compl_iff.2 hf).has_sum).tsum_eq.symm
0 commit comments