Theorem: ContinuousMultilinearMap.continuous_eval
File: Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
⊢ Continuous fun p => p.1 p.2
state_after: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
⊢ Continuous fun p => p.1 p.2
tactic: cases nonempty_fintype ι
state_before: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
⊢ Continuous fun p => p.1 p.2
state_after: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
⊢ Continuous fun p => p.1 p.2
tactic: let _ := TopologicalAddGroup.toUniformSpace F
state_before: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
⊢ Continuous fun p => p.1 p.2
state_after: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
this : UniformAddGroup F
⊢ Continuous fun p => p.1 p.2
tactic: have := comm_topologicalAddGroup_is_uniform (G := F)
state_before: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
this : UniformAddGroup F
⊢ Continuous fun p => p.1 p.2
state_after: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
this : UniformAddGroup F
m : (i : ι) → E i
⊢ ∃ V ∈ {s | Bornology.IsVonNBounded 𝕜 s}, V ∈ 𝓝 m
tactic: refine (UniformOnFun.continuousOn_eval₂ fun m ↦ ?_).comp_continuous
    (embedding_toUniformOnFun.continuous.prod_map continuous_id) fun (f, x) ↦ f.cont.continuousAt
state_before: case intro
𝕜 : Type u_1
ι : Type u_2
E : ι → Type u_3
F : Type u_4
inst✝⁷ : NormedField 𝕜
inst✝⁶ : Finite ι
inst✝⁵ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁴ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝³ : TopologicalSpace F
inst✝² : AddCommGroup F
inst✝¹ : TopologicalAddGroup F
inst✝ : Module 𝕜 F
val✝ : Fintype ι
x✝ : UniformSpace F := TopologicalAddGroup.toUniformSpace F
this : UniformAddGroup F
m : (i : ι) → E i
⊢ ∃ V ∈ {s | Bornology.IsVonNBounded 𝕜 s}, V ∈ 𝓝 m
state_after: no goals
tactic: exact ⟨ball m 1, NormedSpace.isVonNBounded_of_isBounded _ isBounded_ball,
    ball_mem_nhds _ one_pos⟩