-- Mathlib/Topology/Algebra/UniformGroup/Defs.lean
theorem tendsto_div_comap_self (de : IsDenseInducing e) (x₀ : α) :
    Tendsto (fun t : β × β => t.2 / t.1) ((comap fun p : β × β => (e p.1, e p.2)) <| 𝓝 (x₀, x₀))
      (𝓝 1)

Proof state:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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))

Tactic:
simpa using (continuous_div'.comp (@continuous_swap α α _ _)).tendsto (x₀, x₀)

Result:
no goals

Proof state:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑e
x₀ : α
⊢ Tendsto (fun t => t.2 / t.1) (comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)

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
  simp

Result:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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)

Proof state:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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

Result:
no goals

Proof state:
case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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:
simp

Result:
no goals

Proof state:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑e
x₀ : α
⊢ ((fun x => x.2 / x.1) ∘ fun t => (e t.1, e t.2)) = ⇑e ∘ fun t => t.2 / t.1

Tactic:
ext t

Result:
case h
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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

Proof state:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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₀)

Result:
α : Type u_1
β : Type u_2
hom : Type u_3
inst✝⁶ : TopologicalSpace α
inst✝⁵ : Group α
inst✝⁴ : IsTopologicalGroup α
inst✝³ : TopologicalSpace β
inst✝² : Group β
inst✝¹ : FunLike hom β α
inst✝ : MonoidHomClass hom β α
e : hom
de : IsDenseInducing ⇑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)