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

tactic: have :
  ((fun x : β × β => x.2 / x.1) ∘ fun x : α × α => (f x.1, f x.2)) = fun x : α × α =>
    f (x.2 / x.1) := by ext; simp only [Function.comp_apply, map_div]
state_before: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
⊢ UniformContinuous ⇑f
state_after: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
this : ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) = fun x => f (x.2 / x.1)
⊢ UniformContinuous ⇑f

tactic: rw [UniformContinuous, uniformity_eq_comap_nhds_one α, uniformity_eq_comap_nhds_one β,
  tendsto_comap_iff, this]
state_before: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
this : ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) = fun x => f (x.2 / x.1)
⊢ UniformContinuous ⇑f
state_after: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
this : ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) = fun x => f (x.2 / x.1)
⊢ Tendsto (fun x => f (x.2 / x.1)) (comap (fun x => x.2 / x.1) (𝓝 1)) (𝓝 1)

tactic: exact Tendsto.comp h tendsto_comap
state_before: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
this : ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) = fun x => f (x.2 / x.1)
⊢ Tendsto (fun x => f (x.2 / x.1)) (comap (fun x => x.2 / x.1) (𝓝 1)) (𝓝 1)
state_after: no goals

tactic: ext
state_before: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
⊢ ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) = fun x => f (x.2 / x.1)
state_after: case h
α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
x✝ : α × α
⊢ ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) x✝ = f (x✝.2 / x✝.1)

tactic: simp only [Function.comp_apply, map_div]
state_before: case h
α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Tendsto (⇑f) (𝓝 1) (𝓝 1)
x✝ : α × α
⊢ ((fun x => x.2 / x.1) ∘ fun x => (f x.1, f x.2)) x✝ = f (x✝.2 / x✝.1)
state_after: no goals