Theorem: ContinuousLinearMap.sSup_closed_unit_ball_eq_nnnorm
File: Mathlib/Analysis/NormedSpace/OperatorNorm.lean

tactic: have hbdd : ∀ y ∈ (fun x => ‖f x‖₊) '' closedBall 0 1, y ≤ ‖f‖₊ := by
  rintro - ⟨x, hx, rfl⟩
  exact f.unit_le_op_norm x (mem_closedBall_zero_iff.1 hx)
state_before: 𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
⊢ sSup ((fun x => ‖↑f x‖₊) '' closedBall 0 1) = ‖f‖₊

tactic: refine' le_antisymm (csSup_le ((nonempty_closedBall.mpr zero_le_one).image _) hbdd) _
state_before: 𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
hbdd : ∀ (y : ℝ≥0), y ∈ (fun x => ‖↑f x‖₊) '' closedBall 0 1 → y ≤ ‖f‖₊
⊢ sSup ((fun x => ‖↑f x‖₊) '' closedBall 0 1) = ‖f‖₊

tactic: rw [← sSup_unit_ball_eq_nnnorm]
state_before: 𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
hbdd : ∀ (y : ℝ≥0), y ∈ (fun x => ‖↑f x‖₊) '' closedBall 0 1 → y ≤ ‖f‖₊
⊢ ‖f‖₊ ≤ sSup ((fun x => ‖↑f x‖₊) '' closedBall 0 1)

tactic: exact csSup_le_csSup ⟨‖f‖₊, hbdd⟩ ((nonempty_ball.2 zero_lt_one).image _)
  (Set.image_subset _ ball_subset_closedBall)
state_before: 𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
hbdd : ∀ (y : ℝ≥0), y ∈ (fun x => ‖↑f x‖₊) '' closedBall 0 1 → y ≤ ‖f‖₊
⊢ sSup ((fun x => ‖↑f x‖₊) '' ball 0 1) ≤ sSup ((fun x => ‖↑f x‖₊) '' closedBall 0 1)

tactic: rintro - ⟨x, hx, rfl⟩
state_before: 𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
⊢ ∀ (y : ℝ≥0), y ∈ (fun x => ‖↑f x‖₊) '' closedBall 0 1 → y ≤ ‖f‖₊

tactic: exact f.unit_le_op_norm x (mem_closedBall_zero_iff.1 hx)
state_before: case intro.intro
𝕜✝ : Type ?u.825981
𝕜₂✝ : Type ?u.825984
𝕜₃ : Type ?u.825987
E✝ : Type ?u.825990
Eₗ : Type ?u.825993
F✝ : Type ?u.825996
Fₗ : Type ?u.825999
G : Type ?u.826002
Gₗ : Type ?u.826005
𝓕 : Type ?u.826008
inst✝²³ : SeminormedAddCommGroup E✝
inst✝²² : SeminormedAddCommGroup Eₗ
inst✝²¹ : SeminormedAddCommGroup F✝
inst✝²⁰ : SeminormedAddCommGroup Fₗ
inst✝¹⁹ : SeminormedAddCommGroup G
inst✝¹⁸ : SeminormedAddCommGroup Gₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜✝
inst✝¹⁶ : NontriviallyNormedField 𝕜₂✝
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜✝ E✝
inst✝¹³ : NormedSpace 𝕜✝ Eₗ
inst✝¹² : NormedSpace 𝕜₂✝ F✝
inst✝¹¹ : NormedSpace 𝕜✝ Fₗ
inst✝¹⁰ : NormedSpace 𝕜₃ G
inst✝⁹ : NormedSpace 𝕜✝ Gₗ
σ₁₂✝ : 𝕜✝ →+* 𝕜₂✝
σ₂₃ : 𝕜₂✝ →+* 𝕜₃
σ₁₃ : 𝕜✝ →+* 𝕜₃
inst✝⁸ : RingHomCompTriple σ₁₂✝ σ₂₃ σ₁₃
inst✝⁷ : RingHomIsometric σ₁₂✝
𝕜 : Type u_1
𝕜₂ : Type u_2
E : Type u_3
F : Type u_4
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : SeminormedAddCommGroup F
inst✝⁴ : DenselyNormedField 𝕜
inst✝³ : NontriviallyNormedField 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜₂ F
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
x : E
hx : x ∈ closedBall 0 1
⊢ (fun x => ‖↑f x‖₊) x ≤ ‖f‖₊