Theorem: tendsto_div_comap_self
File: Mathlib/Topology/Algebra/UniformGroup.lean

tactic: have comm : ((fun x : α × α => x.2 / x.1) ∘ fun t : β × β => (e t.1, e t.2)) =
    e ∘ fun t : β × β => t.2 / t.1 := by
  ext t
  change e t.2 / e t.1 = e (t.2 / t.1)
  rw [← map_div e t.2 t.1]
state_before: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)
state_after: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
comm : ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)

tactic: have lim : Tendsto (fun x : α × α => x.2 / x.1) (𝓝 (x₀, x₀)) (𝓝 (e 1)) := by
  simpa using (continuous_div'.comp (@continuous_swap α α _ _)).tendsto (x₀, x₀)
state_before: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
comm : ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)
state_after: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
comm : ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
lim : Tendsto (fun x => x.2 / x.1) (𝓝 (x₀, x₀)) (𝓝 (e 1))
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)

tactic: simpa using de.tendsto_comap_nhds_nhds lim comm
state_before: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
comm : ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
lim : Tendsto (fun x => x.2 / x.1) (𝓝 (x₀, x₀)) (𝓝 (e 1))
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)
state_after: no goals

tactic: ext t
state_before: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
⊢ ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
state_after: case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
t : β × β
⊢ ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) t = (⇑e ∘ fun t => t.2 / t.1) t

tactic: change e t.2 / e t.1 = e (t.2 / t.1)
state_before: case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
t : β × β
⊢ ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) t = (⇑e ∘ fun t => t.2 / t.1) t
state_after: case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
t : β × β
⊢ e t.2 / e t.1 = e (t.2 / t.1)

tactic: rw [← map_div e t.2 t.1]
state_before: case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
t : β × β
⊢ e t.2 / e t.1 = e (t.2 / t.1)
state_after: no goals

tactic: simpa using (continuous_div'.comp (@continuous_swap α α _ _)).tendsto (x₀, x₀)
state_before: α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : TopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : DenseInducing ⇑e
x₀ : α
comm : ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1
⊢ Tendsto (fun x => x.2 / x.1) (𝓝 (x₀, x₀)) (𝓝 (e 1))
state_after: no goals