[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖 : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
⊢ HasBasis (𝓝 1) p fun i => {f | ∀ (x : α), f x ∈ b i}
[PROOFSTEP]
have := h.comap fun p : G × G => p.2 / p.1
[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖 : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (comap (fun p => p.snd / p.fst) (𝓝 1)) p fun i => (fun p => p.snd / p.fst) ⁻¹' b i
⊢ HasBasis (𝓝 1) p fun i => {f | ∀ (x : α), f x ∈ b i}
[PROOFSTEP]
rw [← uniformity_eq_comap_nhds_one] at this 
[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖 : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (uniformity G) p fun i => (fun p => p.snd / p.fst) ⁻¹' b i
⊢ HasBasis (𝓝 1) p fun i => {f | ∀ (x : α), f x ∈ b i}
[PROOFSTEP]
convert UniformFun.hasBasis_nhds_of_basis α _ (1 : α →ᵤ G) this
[GOAL]
case h.e'_5.h.h.e'_2.h.a
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖 : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (uniformity G) p fun i => (fun p => p.snd / p.fst) ⁻¹' b i
x✝¹ : ι
x✝ : α →ᵤ G
⊢ (∀ (x : α), x✝ x ∈ b x✝¹) ↔ (1, x✝) ∈ UniformFun.gen α G ((fun p => p.snd / p.fst) ⁻¹' b x✝¹)
[PROOFSTEP]
simp [UniformFun.gen]
[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖✝ : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
𝔖 : Set (Set α)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
⊢ HasBasis (𝓝 1) (fun Si => Si.fst ∈ 𝔖 ∧ p Si.snd) fun Si => {f | ∀ (x : α), x ∈ Si.fst → f x ∈ b Si.snd}
[PROOFSTEP]
have := h.comap fun p : G × G => p.1 / p.2
[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖✝ : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
𝔖 : Set (Set α)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (comap (fun p => p.fst / p.snd) (𝓝 1)) p fun i => (fun p => p.fst / p.snd) ⁻¹' b i
⊢ HasBasis (𝓝 1) (fun Si => Si.fst ∈ 𝔖 ∧ p Si.snd) fun Si => {f | ∀ (x : α), x ∈ Si.fst → f x ∈ b Si.snd}
[PROOFSTEP]
rw [← uniformity_eq_comap_nhds_one_swapped] at this 
[GOAL]
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖✝ : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
𝔖 : Set (Set α)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (uniformity G) p fun i => (fun p => p.fst / p.snd) ⁻¹' b i
⊢ HasBasis (𝓝 1) (fun Si => Si.fst ∈ 𝔖 ∧ p Si.snd) fun Si => {f | ∀ (x : α), x ∈ Si.fst → f x ∈ b Si.snd}
[PROOFSTEP]
convert UniformOnFun.hasBasis_nhds_of_basis α _ 𝔖 (1 : α →ᵤ[𝔖] G) h𝔖₁ h𝔖₂ this
[GOAL]
case h.e'_5.h.h.e'_2.h.a
α : Type u_1
G : Type u_2
ι : Type u_3
inst✝² : Group G
𝔖✝ : Set (Set α)
inst✝¹ : UniformSpace G
inst✝ : UniformGroup G
𝔖 : Set (Set α)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
p : ι → Prop
b : ι → Set G
h : HasBasis (𝓝 1) p b
this : HasBasis (uniformity G) p fun i => (fun p => p.fst / p.snd) ⁻¹' b i
x✝¹ : Set α × ι
x✝ : α →ᵤ[𝔖] G
⊢ (∀ (x : α), x ∈ x✝¹.fst → x✝ x ∈ b x✝¹.snd) ↔
    (x✝, 1) ∈ UniformOnFun.gen 𝔖 x✝¹.fst ((fun p => p.fst / p.snd) ⁻¹' b x✝¹.snd)
[PROOFSTEP]
simp [UniformOnFun.gen]
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
⊢ ContinuousSMul 𝕜 H
[PROOFSTEP]
have : TopologicalAddGroup H := by
  rw [hφ.induced]
  exact topologicalAddGroup_induced φ
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
⊢ TopologicalAddGroup H
[PROOFSTEP]
rw [hφ.induced]
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
⊢ TopologicalAddGroup H
[PROOFSTEP]
exact topologicalAddGroup_induced φ
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ContinuousSMul 𝕜 H
[PROOFSTEP]
have : (𝓝 0 : Filter H).HasBasis _ _ := by
  rw [hφ.induced, nhds_induced, map_zero]
  exact (UniformOnFun.hasBasis_nhds_zero 𝔖 h𝔖₁ h𝔖₂).comap φ
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ HasBasis (𝓝 0) ?m.88528 ?m.88529
[PROOFSTEP]
rw [hφ.induced, nhds_induced, map_zero]
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ HasBasis (comap (↑φ) (𝓝 0)) ?m.88528 ?m.88529
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ Sort ?u.88519
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Prop
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Set H
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ Sort ?u.88519
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Prop
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Set H
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ Sort ?u.88519
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Prop
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this : TopologicalAddGroup H
⊢ ?m.88527 → Set H
[PROOFSTEP]
exact (UniformOnFun.hasBasis_nhds_zero 𝔖 h𝔖₁ h𝔖₂).comap φ
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
⊢ ContinuousSMul 𝕜 H
[PROOFSTEP]
refine' ContinuousSMul.of_basis_zero this _ _ _
[GOAL]
case refine'_1
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
⊢ ∀ {i : Set α × Set E},
    i.fst ∈ 𝔖 ∧ i.snd ∈ 𝓝 0 →
      ∃ V,
        V ∈ 𝓝 0 ∧
          ∃ j x, V • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
[PROOFSTEP]
rintro ⟨S, V⟩ ⟨hS, hV⟩
[GOAL]
case refine'_1.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
have : Tendsto (fun kx : 𝕜 × E => kx.1 • kx.2) (𝓝 (0, 0)) (𝓝 <| (0 : 𝕜) • (0 : E)) :=
  continuous_smul.tendsto (0 : 𝕜 × E)
[GOAL]
case refine'_1.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 (0, 0)) (𝓝 (0 • 0))
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rw [zero_smul, nhds_prod_eq] at this 
[GOAL]
case refine'_1.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
have := this hV
[GOAL]
case refine'_1.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝² : TopologicalAddGroup H
this✝¹ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this✝ : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
this : (S, V).snd ∈ map (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0)
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rw [mem_map, mem_prod_iff] at this 
[GOAL]
case refine'_1.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝² : TopologicalAddGroup H
this✝¹ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this✝ : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
this : ∃ t₁, t₁ ∈ 𝓝 0 ∧ ∃ t₂, t₂ ∈ 𝓝 0 ∧ t₁ ×ˢ t₂ ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rcases this with ⟨U, hU, W, hW, hUW⟩
[GOAL]
case refine'_1.mk.intro.intro.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
U : Set 𝕜
hU : U ∈ 𝓝 0
W : Set E
hW : W ∈ 𝓝 0
hUW : U ×ˢ W ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
⊢ ∃ V_1,
    V_1 ∈ 𝓝 0 ∧
      ∃ j x,
        V_1 • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
refine' ⟨U, hU, ⟨S, W⟩, ⟨hS, hW⟩, _⟩
[GOAL]
case refine'_1.mk.intro.intro.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
U : Set 𝕜
hU : U ∈ 𝓝 0
W : Set E
hW : W ∈ 𝓝 0
hUW : U ×ˢ W ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
⊢ U • ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, W).fst → f x ∈ (S, W).snd} ⊆
    ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rw [Set.smul_subset_iff]
[GOAL]
case refine'_1.mk.intro.intro.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
U : Set 𝕜
hU : U ∈ 𝓝 0
W : Set E
hW : W ∈ 𝓝 0
hUW : U ×ˢ W ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
⊢ ∀ (a : 𝕜),
    a ∈ U →
      ∀ (b : H),
        b ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, W).fst → f x ∈ (S, W).snd} →
          a • b ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
intro a ha u hu x hx
[GOAL]
case refine'_1.mk.intro.intro.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
U : Set 𝕜
hU : U ∈ 𝓝 0
W : Set E
hW : W ∈ 𝓝 0
hUW : U ×ˢ W ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
a : 𝕜
ha : a ∈ U
u : H
hu : u ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, W).fst → f x ∈ (S, W).snd}
x : α
hx : x ∈ (S, V).fst
⊢ ↑φ (a • u) x ∈ (S, V).snd
[PROOFSTEP]
rw [SMulHomClass.map_smul]
[GOAL]
case refine'_1.mk.intro.intro.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun kx => kx.fst • kx.snd) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)
U : Set 𝕜
hU : U ∈ 𝓝 0
W : Set E
hW : W ∈ 𝓝 0
hUW : U ×ˢ W ⊆ (fun kx => kx.fst • kx.snd) ⁻¹' (S, V).snd
a : 𝕜
ha : a ∈ U
u : H
hu : u ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, W).fst → f x ∈ (S, W).snd}
x : α
hx : x ∈ (S, V).fst
⊢ (a • ↑φ u) x ∈ (S, V).snd
[PROOFSTEP]
exact hUW (⟨ha, hu x hx⟩ : (a, φ u x) ∈ U ×ˢ W)
[GOAL]
case refine'_2
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
⊢ ∀ (x₀ : 𝕜) {i : Set α × Set E},
    i.fst ∈ 𝔖 ∧ i.snd ∈ 𝓝 0 →
      ∃ j x,
        ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
          (fun x => x₀ • x) ⁻¹' (↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd})
[PROOFSTEP]
rintro a ⟨S, V⟩ ⟨hS, hV⟩
[GOAL]
case refine'_2.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
a : 𝕜
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
⊢ ∃ j x,
    ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
      (fun x => a • x) ⁻¹' (↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd})
[PROOFSTEP]
have : Tendsto (fun x : E => a • x) (𝓝 0) (𝓝 <| a • (0 : E)) := tendsto_id.const_smul a
[GOAL]
case refine'_2.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
a : 𝕜
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun x => a • x) (𝓝 0) (𝓝 (a • 0))
⊢ ∃ j x,
    ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
      (fun x => a • x) ⁻¹' (↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd})
[PROOFSTEP]
rw [smul_zero] at this 
[GOAL]
case refine'_2.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
a : 𝕜
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun x => a • x) (𝓝 0) (𝓝 0)
⊢ ∃ j x,
    ↑φ ⁻¹' {f | ∀ (x : α), x ∈ j.fst → f x ∈ j.snd} ⊆
      (fun x => a • x) ⁻¹' (↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd})
[PROOFSTEP]
refine' ⟨⟨S, (a • ·) ⁻¹' V⟩, ⟨hS, this hV⟩, fun f hf x hx => _⟩
[GOAL]
case refine'_2.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
a : 𝕜
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun x => a • x) (𝓝 0) (𝓝 0)
f : H
hf : f ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, (fun x => a • x) ⁻¹' V).fst → f x ∈ (S, (fun x => a • x) ⁻¹' V).snd}
x : α
hx : x ∈ (S, V).fst
⊢ ↑φ ((fun x => a • x) f) x ∈ (S, V).snd
[PROOFSTEP]
rw [SMulHomClass.map_smul]
[GOAL]
case refine'_2.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
a : 𝕜
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
this : Tendsto (fun x => a • x) (𝓝 0) (𝓝 0)
f : H
hf : f ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, (fun x => a • x) ⁻¹' V).fst → f x ∈ (S, (fun x => a • x) ⁻¹' V).snd}
x : α
hx : x ∈ (S, V).fst
⊢ (a • ↑φ f) x ∈ (S, V).snd
[PROOFSTEP]
exact hf x hx
[GOAL]
case refine'_3
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
⊢ ∀ (m₀ : H) {i : Set α × Set E},
    i.fst ∈ 𝔖 ∧ i.snd ∈ 𝓝 0 → ∀ᶠ (x : 𝕜) in 𝓝 0, x • m₀ ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
[PROOFSTEP]
rintro u ⟨S, V⟩ ⟨hS, hV⟩
[GOAL]
case refine'_3.mk.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
⊢ ∀ᶠ (x : 𝕜) in 𝓝 0, x • u ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rcases h u S hS hV with ⟨r, hrpos, hr⟩
[GOAL]
case refine'_3.mk.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
⊢ ∀ᶠ (x : 𝕜) in 𝓝 0, x • u ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
rw [Metric.eventually_nhds_iff_ball]
[GOAL]
case refine'_3.mk.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
⊢ ∃ ε, ε > 0 ∧ ∀ (y : 𝕜), y ∈ Metric.ball 0 ε → y • u ∈ ↑φ ⁻¹' {f | ∀ (x : α), x ∈ (S, V).fst → f x ∈ (S, V).snd}
[PROOFSTEP]
refine' ⟨r⁻¹, inv_pos.mpr hrpos, fun a ha x hx => _⟩
[GOAL]
case refine'_3.mk.intro.intro.intro
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : a ∈ Metric.ball 0 r⁻¹
x : α
hx : x ∈ (S, V).fst
⊢ ↑φ (a • u) x ∈ (S, V).snd
[PROOFSTEP]
by_cases ha0 : a = 0
[GOAL]
case pos
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : a ∈ Metric.ball 0 r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : a = 0
⊢ ↑φ (a • u) x ∈ (S, V).snd
[PROOFSTEP]
rw [ha0]
[GOAL]
case pos
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : a ∈ Metric.ball 0 r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : a = 0
⊢ ↑φ (0 • u) x ∈ (S, V).snd
[PROOFSTEP]
simpa using mem_of_mem_nhds hV
[GOAL]
case neg
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : a ∈ Metric.ball 0 r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : ¬a = 0
⊢ ↑φ (a • u) x ∈ (S, V).snd
[PROOFSTEP]
rw [mem_ball_zero_iff] at ha 
[GOAL]
case neg
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : ¬a = 0
⊢ ↑φ (a • u) x ∈ (S, V).snd
[PROOFSTEP]
rw [SMulHomClass.map_smul, Pi.smul_apply]
[GOAL]
case neg
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : ¬a = 0
⊢ a • ↑φ u x ∈ (S, V).snd
[PROOFSTEP]
have : φ u x ∈ a⁻¹ • V := by
  have ha0 : 0 < ‖a‖ := norm_pos_iff.mpr ha0
  refine' (hr a⁻¹ _) (Set.mem_image_of_mem (φ u) hx)
  rw [norm_inv, le_inv hrpos ha0]
  exact ha.le
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : ¬a = 0
⊢ ↑φ u x ∈ a⁻¹ • V
[PROOFSTEP]
have ha0 : 0 < ‖a‖ := norm_pos_iff.mpr ha0
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0✝ : ¬a = 0
ha0 : 0 < ‖a‖
⊢ ↑φ u x ∈ a⁻¹ • V
[PROOFSTEP]
refine' (hr a⁻¹ _) (Set.mem_image_of_mem (φ u) hx)
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0✝ : ¬a = 0
ha0 : 0 < ‖a‖
⊢ r ≤ ‖a⁻¹‖
[PROOFSTEP]
rw [norm_inv, le_inv hrpos ha0]
[GOAL]
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝ : TopologicalAddGroup H
this : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0✝ : ¬a = 0
ha0 : 0 < ‖a‖
⊢ ‖a‖ ≤ r⁻¹
[PROOFSTEP]
exact ha.le
[GOAL]
case neg
𝕜 : Type u_1
α : Type u_2
E : Type u_3
H : Type u_4
hom : Type u_5
inst✝⁹ : NormedField 𝕜
inst✝⁸ : AddCommGroup H
inst✝⁷ : Module 𝕜 H
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : TopologicalSpace H
inst✝³ : UniformSpace E
inst✝² : UniformAddGroup E
inst✝¹ : ContinuousSMul 𝕜 E
𝔖 : Set (Set α)
inst✝ : LinearMapClass hom 𝕜 H (α →ᵤ[𝔖] E)
h𝔖₁ : Set.Nonempty 𝔖
h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖
φ : hom
hφ : Inducing ↑φ
h : ∀ (u : H) (s : Set α), s ∈ 𝔖 → Bornology.IsVonNBounded 𝕜 (↑φ u '' s)
this✝¹ : TopologicalAddGroup H
this✝ : HasBasis (𝓝 0) (fun SV => SV.fst ∈ 𝔖 ∧ SV.snd ∈ 𝓝 0) fun i => ↑φ ⁻¹' {f | ∀ (x : α), x ∈ i.fst → f x ∈ i.snd}
u : H
S : Set α
V : Set E
hS : (S, V).fst ∈ 𝔖
hV : (S, V).snd ∈ 𝓝 0
r : ℝ
hrpos : 0 < r
hr : ∀ (a : 𝕜), r ≤ ‖a‖ → ↑φ u '' S ⊆ a • (S, V).snd
a : 𝕜
ha : ‖a‖ < r⁻¹
x : α
hx : x ∈ (S, V).fst
ha0 : ¬a = 0
this : ↑φ u x ∈ a⁻¹ • V
⊢ a • ↑φ u x ∈ (S, V).snd
[PROOFSTEP]
rwa [Set.mem_inv_smul_set_iff₀ ha0] at this 
