Theorem: ContinuousMonoidHom.locallyCompactSpace_of_hasBasis
File: Mathlib/Topology/Algebra/ContinuousMonoidHom.lean

Proof steps:
state_before: F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: obtain ⟨U0, hU0c, hU0o⟩ := exists_compact_mem_nhds (1 : X)
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: let U_aux : ℕ → {S : Set X | S ∈ nhds 1} :=
    Nat.rec ⟨U0, hU0o⟩ <| fun _ S ↦ let h := exists_closed_nhds_one_inv_eq_mul_subset S.2
      ⟨Classical.choose h, (Classical.choose_spec h).1⟩
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: let U : ℕ → Set X := fun n ↦ (U_aux n).1
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: have hU1 : ∀ n, U n ∈ nhds 1 := fun n ↦ (U_aux n).2
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: have hU2 : ∀ n, U (n + 1) * U (n + 1) ⊆ U n :=
    fun n ↦ (Classical.choose_spec (exists_closed_nhds_one_inv_eq_mul_subset (U_aux n).2)).2.2.2
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
tactic: have hU3 : ∀ n, U (n + 1) ⊆ U n :=
    fun n x hx ↦ hU2 n (mul_one x ▸ Set.mul_mem_mul hx (mem_of_mem_nhds (hU1 (n + 1))))
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
⊢ LocallyCompactSpace (ContinuousMonoidHom X Y)
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
⊢ EquicontinuousAt (fun f => ⇑↑f) 1
tactic: apply locallyCompactSpace_of_equicontinuousAt (U 0) (V 0) hU0c (hVo.mem_of_mem trivial)
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
⊢ EquicontinuousAt (fun f => ⇑↑f) 1
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
⊢ ∀ (k : ℕ),
    True → ∀ᶠ (x : X) in nhds 1, ∀ (i : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}), (↑i 1, ↑i x) ∈ {x | x.2 / x.1 ∈ V k}
tactic: rw [hVo.uniformity_of_nhds_one.equicontinuousAt_iff_right]
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
⊢ ∀ (k : ℕ),
    True → ∀ᶠ (x : X) in nhds 1, ∀ (i : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}), (↑i 1, ↑i x) ∈ {x | x.2 / x.1 ∈ V k}
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
n : ℕ
x✝¹ : True
x : X
hx : x ∈ U n
x✝ : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}
f : X →* Y
hf : f ∈ {f | Set.MapsTo (⇑f) (U 0) (V 0)}
⊢ (↑⟨f, hf⟩ 1, ↑⟨f, hf⟩ x) ∈ {x | x.2 / x.1 ∈ V n}
tactic: refine fun n _ ↦ Filter.eventually_iff_exists_mem.mpr ⟨U n, hU1 n, fun x hx ⟨f, hf⟩ ↦ ?_⟩
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
n : ℕ
x✝¹ : True
x : X
hx : x ∈ U n
x✝ : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}
f : X →* Y
hf : f ∈ {f | Set.MapsTo (⇑f) (U 0) (V 0)}
⊢ (↑⟨f, hf⟩ 1, ↑⟨f, hf⟩ x) ∈ {x | x.2 / x.1 ∈ V n}
state_after: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
n : ℕ
x✝¹ : True
x : X
hx : x ∈ U n
x✝ : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}
f : X →* Y
hf : f ∈ {f | Set.MapsTo (⇑f) (U 0) (V 0)}
⊢ (1, ↑⟨f, hf⟩ x).2 ∈ V n
tactic: rw [Set.mem_setOf_eq, map_one, div_one]
state_before: case intro.intro
F : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
D : Type u_5
E : Type u_6
inst✝¹⁹ : Monoid A
inst✝¹⁸ : Monoid B
inst✝¹⁷ : Monoid C
inst✝¹⁶ : Monoid D
inst✝¹⁵ : CommGroup E
inst✝¹⁴ : TopologicalSpace A
inst✝¹³ : TopologicalSpace B
inst✝¹² : TopologicalSpace C
inst✝¹¹ : TopologicalSpace D
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : TopologicalGroup E
X : Type u_7
Y : Type u_8
inst✝⁸ : TopologicalSpace X
inst✝⁷ : Group X
inst✝⁶ : TopologicalGroup X
inst✝⁵ : UniformSpace Y
inst✝⁴ : CommGroup Y
inst✝³ : UniformGroup Y
inst✝² : T0Space Y
inst✝¹ : CompactSpace Y
inst✝ : LocallyCompactSpace X
V : ℕ → Set Y
hV : ∀ {n : ℕ} {x : Y}, x ∈ V n → x * x ∈ V n → x ∈ V (n + 1)
hVo : (nhds 1).HasBasis (fun x => True) V
U0 : Set X
hU0c : IsCompact U0
hU0o : U0 ∈ nhds 1
U_aux : ℕ → ↑{S | S ∈ nhds 1} :=
  fun t =>
    Nat.rec ⟨U0, hU0o⟩
      (fun x S =>
        let h := ⋯;
        ⟨Classical.choose h, ⋯⟩)
      t
U : ℕ → Set X := fun n => ↑(U_aux n)
hU1 : ∀ (n : ℕ), U n ∈ nhds 1
hU2 : ∀ (n : ℕ), U (n + 1) * U (n + 1) ⊆ U n
hU3 : ∀ (n : ℕ), U (n + 1) ⊆ U n
hU4 : ∀ (f : X →* Y), Set.MapsTo (⇑f) (U 0) (V 0) → ∀ (n : ℕ), Set.MapsTo (⇑f) (U n) (V n)
n : ℕ
x✝¹ : True
x : X
hx : x ∈ U n
x✝ : ↑{f | Set.MapsTo (⇑f) (U 0) (V 0)}
f : X →* Y
hf : f ∈ {f | Set.MapsTo (⇑f) (U 0) (V 0)}
⊢ (1, ↑⟨f, hf⟩ x).2 ∈ V n
state_after: no goals
tactic: exact hU4 f hf n hx