Theorem: SeminormFamily.basisSets_mem_nhds
File: Mathlib/Analysis/LocallyConvex/WithSeminorms.lean

Proof steps:
state_before: 𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
U : Set E
hU : U ∈ p.basisSets
⊢ U ∈ 𝓝 0
state_after: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
hU : (s.sup p).ball 0 r ∈ p.basisSets
⊢ (s.sup p).ball 0 r ∈ 𝓝 0
tactic: obtain ⟨s, r, hr, rfl⟩ := p.basisSets_iff.mp hU
state_before: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
hU : (s.sup p).ball 0 r ∈ p.basisSets
⊢ (s.sup p).ball 0 r ∈ 𝓝 0
state_after: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
⊢ (s.sup p).ball 0 r ∈ 𝓝 0
tactic: clear hU
state_before: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
⊢ (s.sup p).ball 0 r ∈ 𝓝 0
state_after: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
⊢ Continuous ⇑(s.sup p)
tactic: refine Seminorm.ball_mem_nhds ?_ hr
state_before: case intro.intro.intro
𝕜✝ : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E✝ : Type u_5
F : Type u_6
G : Type u_7
ι✝ : Type u_8
ι' : Type u_9
inst✝⁷ : NormedField 𝕜✝
inst✝⁶ : AddCommGroup E✝
inst✝⁵ : Module 𝕜✝ E✝
p✝ : SeminormFamily 𝕜✝ E✝ ι✝
inst✝⁴ : Nonempty ι✝
𝕜 : Type u_10
E : Type u_11
ι : Type u_12
inst✝³ : NormedField 𝕜
inst✝² : AddCommGroup E
inst✝¹ : Module 𝕜 E
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : ∀ (i : ι), Continuous ⇑(p i)
s : Finset ι
r : ℝ
hr : 0 < r
⊢ Continuous ⇑(s.sup p)
state_after: no goals
tactic: classical
  induction s using Finset.induction_on
  case empty => simpa using continuous_zero
  case insert a s _ hs =>
    simp only [Finset.sup_insert, coe_sup]
    exact Continuous.max (hp a) hs