Theorem: equicontinuousAt_iff_pair
File: Mathlib/Topology/UniformSpace/Equicontinuity.lean

tactic: constructor <;> intro H U hU
state_before: ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
⊢ EquicontinuousAt F x₀ ↔
    ∀ (U : Set (α × α)), U ∈ 𝓤 α → ∃ V, V ∈ 𝓝 x₀ ∧ ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U

tactic: rcases comp_symm_mem_uniformity_sets hU with ⟨V, hV, hVsymm, hVU⟩
state_before: case mp
ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
H : EquicontinuousAt F x₀
U : Set (α × α)
hU : U ∈ 𝓤 α
⊢ ∃ V, V ∈ 𝓝 x₀ ∧ ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U

tactic: refine' ⟨_, H V hV, fun x hx y hy i => hVU (prod_mk_mem_compRel _ (hy i))⟩
state_before: case mp.intro.intro.intro
ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
H : EquicontinuousAt F x₀
U : Set (α × α)
hU : U ∈ 𝓤 α
V : Set (α × α)
hV : V ∈ 𝓤 α
hVsymm : SymmetricRel V
hVU : V ○ V ⊆ U
⊢ ∃ V, V ∈ 𝓝 x₀ ∧ ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U

tactic: exact hVsymm.mk_mem_comm.mp (hx i)
state_before: case mp.intro.intro.intro
ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
H : EquicontinuousAt F x₀
U : Set (α × α)
hU : U ∈ 𝓤 α
V : Set (α × α)
hV : V ∈ 𝓤 α
hVsymm : SymmetricRel V
hVU : V ○ V ⊆ U
x : X
hx : x ∈ {x | (fun x => ∀ (i : ι), (F i x₀, F i x) ∈ V) x}
y : X
hy : y ∈ {x | (fun x => ∀ (i : ι), (F i x₀, F i x) ∈ V) x}
i : ι
⊢ (F i x, F i x₀) ∈ V

tactic: rcases H U hU with ⟨V, hV, hVU⟩
state_before: case mpr
ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
H : ∀ (U : Set (α × α)), U ∈ 𝓤 α → ∃ V, V ∈ 𝓝 x₀ ∧ ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U
U : Set (α × α)
hU : U ∈ 𝓤 α
⊢ ∀ᶠ (x : X) in 𝓝 x₀, ∀ (i : ι), (F i x₀, F i x) ∈ U

tactic: filter_upwards [hV]using fun x hx i => hVU x₀ (mem_of_mem_nhds hV) x hx i
state_before: case mpr.intro.intro
ι : Type u_1
κ : Type ?u.26882
X : Type u_2
Y : Type ?u.26888
Z : Type ?u.26891
α : Type u_3
β : Type ?u.26897
γ : Type ?u.26900
𝓕 : Type ?u.26903
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
F : ι → X → α
x₀ : X
H : ∀ (U : Set (α × α)), U ∈ 𝓤 α → ∃ V, V ∈ 𝓝 x₀ ∧ ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U
U : Set (α × α)
hU : U ∈ 𝓤 α
V : Set X
hV : V ∈ 𝓝 x₀
hVU : ∀ (x : X), x ∈ V → ∀ (y : X), y ∈ V → ∀ (i : ι), (F i x, F i y) ∈ U
⊢ ∀ᶠ (x : X) in 𝓝 x₀, ∀ (i : ι), (F i x₀, F i x) ∈ U