Theorem: ContinuousLinearEquiv.tsum_eq_iff
File: Mathlib/Topology/Algebra/InfiniteSum/Module.lean

tactic: by_cases hf : Summable f
state_before: ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
⊢ (∑' (z : ι), ↑e (f z)) = y ↔ (∑' (z : ι), f z) = ↑(ContinuousLinearEquiv.symm e) y

tactic: exact
  ⟨fun h => (e.hasSum.mp ((e.summable.mpr hf).hasSum_iff.mpr h)).tsum_eq, fun h =>
    (e.hasSum.mpr (hf.hasSum_iff.mpr h)).tsum_eq⟩
state_before: case pos
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : Summable f
⊢ (∑' (z : ι), ↑e (f z)) = y ↔ (∑' (z : ι), f z) = ↑(ContinuousLinearEquiv.symm e) y

tactic: have hf' : ¬Summable fun z => e (f z) := fun h => hf (e.summable.mp h)
state_before: case neg
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : ¬Summable f
⊢ (∑' (z : ι), ↑e (f z)) = y ↔ (∑' (z : ι), f z) = ↑(ContinuousLinearEquiv.symm e) y

tactic: rw [tsum_eq_zero_of_not_summable hf, tsum_eq_zero_of_not_summable hf']
state_before: case neg
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : ¬Summable f
hf' : ¬Summable fun z => ↑e (f z)
⊢ (∑' (z : ι), ↑e (f z)) = y ↔ (∑' (z : ι), f z) = ↑(ContinuousLinearEquiv.symm e) y

tactic: refine ⟨?_, fun H => ?_⟩
state_before: case neg
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : ¬Summable f
hf' : ¬Summable fun z => ↑e (f z)
⊢ 0 = y ↔ 0 = ↑(ContinuousLinearEquiv.symm e) y

tactic: rintro rfl
state_before: case neg.refine_1
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : ¬Summable f
hf' : ¬Summable fun z => ↑e (f z)
⊢ 0 = y → 0 = ↑(ContinuousLinearEquiv.symm e) y

tactic: simp
state_before: case neg.refine_1
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
hf : ¬Summable f
hf' : ¬Summable fun z => ↑e (f z)
⊢ 0 = ↑(ContinuousLinearEquiv.symm e) 0

tactic: simpa using congr_arg (fun z => e z) H
state_before: case neg.refine_2
ι : Type u_5
R : Type u_3
R₂ : Type u_4
M : Type u_1
M₂ : Type u_2
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
inst✝⁵ : TopologicalSpace M
inst✝⁴ : TopologicalSpace M₂
σ : R →+* R₂
σ' : R₂ →+* R
inst✝³ : RingHomInvPair σ σ'
inst✝² : RingHomInvPair σ' σ
inst✝¹ : T2Space M
inst✝ : T2Space M₂
f : ι → M
e : M ≃SL[σ] M₂
y : M₂
hf : ¬Summable f
hf' : ¬Summable fun z => ↑e (f z)
H : 0 = ↑(ContinuousLinearEquiv.symm e) y
⊢ 0 = y