Theorem: multipliable_const_iff
File: Mathlib/Topology/Algebra/InfiniteSum/Group.lean

tactic: refine ⟨fun h ↦ ?_, ?_⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
⊢ (Multipliable fun x => a) ↔ a = 1
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
⊢ a = 1

case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
⊢ a = 1 → Multipliable fun x => a

tactic: by_contra ha
state_before: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
⊢ a = 1
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
⊢ False

tactic: have : {a}ᶜ ∈ 𝓝 1 := compl_singleton_mem_nhds (Ne.symm ha)
state_before: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
⊢ False
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
this : {a}ᶜ ∈ 𝓝 1
⊢ False

tactic: have : Finite β := by
  simpa [← Set.finite_univ_iff] using h.tendsto_cofinite_one this
state_before: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
this : {a}ᶜ ∈ 𝓝 1
⊢ False
state_after: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
this✝ : {a}ᶜ ∈ 𝓝 1
this : Finite β
⊢ False

tactic: exact not_finite β
state_before: case refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
this✝ : {a}ᶜ ∈ 𝓝 1
this : Finite β
⊢ False
state_after: no goals

tactic: simpa [← Set.finite_univ_iff] using h.tendsto_cofinite_one this
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
h : Multipliable fun x => a
ha : ¬a = 1
this : {a}ᶜ ∈ 𝓝 1
⊢ Finite β
state_after: no goals

tactic: rintro rfl
state_before: case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
a : G
⊢ a = 1 → Multipliable fun x => a
state_after: case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
⊢ Multipliable fun x => 1

tactic: exact multipliable_one
state_before: case refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
G : Type u_5
inst✝⁴ : TopologicalSpace G
inst✝³ : CommGroup G
inst✝² : TopologicalGroup G
f : α → G
inst✝¹ : Infinite β
inst✝ : T2Space G
⊢ Multipliable fun x => 1
state_after: no goals