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

tactic: by_cases H : Multipliable f
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✝ f : α → G
⊢ Tendsto (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop (𝓝 1)
state_after: case pos
α : 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✝ f : α → G
H : Multipliable f
⊢ Tendsto (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop (𝓝 1)

case neg
α : 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✝ f : α → G
H : ¬Multipliable f
⊢ Tendsto (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop (𝓝 1)

tactic: intro e he
state_before: case pos
α : 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✝ f : α → G
H : Multipliable f
⊢ Tendsto (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop (𝓝 1)
state_after: case pos
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
⊢ e ∈ Filter.map (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop

tactic: obtain ⟨s, hs⟩ := H.tprod_vanishing he
state_before: case pos
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
⊢ e ∈ Filter.map (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop
state_after: case pos.intro
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
s : Finset α
hs : ∀ (t : Set α), Disjoint t ↑s → ∏' (b : ↑t), f ↑b ∈ e
⊢ e ∈ Filter.map (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop

tactic: rw [Filter.mem_map, mem_atTop_sets]
state_before: case pos.intro
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
s : Finset α
hs : ∀ (t : Set α), Disjoint t ↑s → ∏' (b : ↑t), f ↑b ∈ e
⊢ e ∈ Filter.map (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop
state_after: case pos.intro
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
s : Finset α
hs : ∀ (t : Set α), Disjoint t ↑s → ∏' (b : ↑t), f ↑b ∈ e
⊢ ∃ a, ∀ b ≥ a, b ∈ (fun s => ∏' (a : { x // x ∉ s }), f ↑a) ⁻¹' e

tactic: exact ⟨s, fun t hts ↦ hs _ <| Set.disjoint_left.mpr fun a ha has ↦ ha (hts has)⟩
state_before: case pos.intro
α : 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✝ f : α → G
H : Multipliable f
e : Set G
he : e ∈ 𝓝 1
s : Finset α
hs : ∀ (t : Set α), Disjoint t ↑s → ∏' (b : ↑t), f ↑b ∈ e
⊢ ∃ a, ∀ b ≥ a, b ∈ (fun s => ∏' (a : { x // x ∉ s }), f ↑a) ⁻¹' e
state_after: no goals

tactic: refine tendsto_const_nhds.congr fun _ ↦ (tprod_eq_one_of_not_multipliable ?_).symm
state_before: case neg
α : 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✝ f : α → G
H : ¬Multipliable f
⊢ Tendsto (fun s => ∏' (a : { x // x ∉ s }), f ↑a) atTop (𝓝 1)
state_after: case neg
α : 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✝ f : α → G
H : ¬Multipliable f
x✝ : Finset α
⊢ ¬Multipliable fun a => f ↑a

tactic: rwa [Finset.multipliable_compl_iff]
state_before: case neg
α : 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✝ f : α → G
H : ¬Multipliable f
x✝ : Finset α
⊢ ¬Multipliable fun a => f ↑a
state_after: no goals