Theorem: SemilinearMapClass.bound_of_continuous
File: Mathlib/Analysis/NormedSpace/OperatorNorm.lean

tactic: rcases NormedAddCommGroup.tendsto_nhds_nhds.1 (hf.tendsto 0) 1 zero_lt_one with ⟨ε, ε_pos, hε⟩
state_before: 𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
⊢ ∃ C, 0 < C ∧ ∀ (x : E), ‖↑f x‖ ≤ C * ‖x‖

tactic: simp only [sub_zero, map_zero] at hε
state_before: case intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x' - 0‖ < ε → ‖↑f x' - ↑f 0‖ < 1
⊢ ∃ C, 0 < C ∧ ∀ (x : E), ‖↑f x‖ ≤ C * ‖x‖

tactic: rcases NormedField.exists_one_lt_norm 𝕜 with ⟨c, hc⟩
state_before: case intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
⊢ ∃ C, 0 < C ∧ ∀ (x : E), ‖↑f x‖ ≤ C * ‖x‖

tactic: have : 0 < ‖c‖ / ε := div_pos (zero_lt_one.trans hc) ε_pos
state_before: case intro.intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
⊢ ∃ C, 0 < C ∧ ∀ (x : E), ‖↑f x‖ ≤ C * ‖x‖

tactic: refine' ⟨‖c‖ / ε, this, fun x => _⟩
state_before: case intro.intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
⊢ ∃ C, 0 < C ∧ ∀ (x : E), ‖↑f x‖ ≤ C * ‖x‖

tactic: by_cases hx : ‖x‖ = 0
state_before: case intro.intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x : E
⊢ ‖↑f x‖ ≤ ‖c‖ / ε * ‖x‖

tactic: refine' SemilinearMapClass.bound_of_shell_semi_normed f ε_pos hc (fun x hle hlt => _) hx
state_before: case neg
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x : E
hx : ¬‖x‖ = 0
⊢ ‖↑f x‖ ≤ ‖c‖ / ε * ‖x‖

tactic: refine' (hε _ hlt).le.trans _
state_before: case neg
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x✝ : E
hx : ¬‖x✝‖ = 0
x : E
hle : ε / ‖c‖ ≤ ‖x‖
hlt : ‖x‖ < ε
⊢ ‖↑f x‖ ≤ ‖c‖ / ε * ‖x‖

tactic: rwa [← div_le_iff' this, one_div_div]
state_before: case neg
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x✝ : E
hx : ¬‖x✝‖ = 0
x : E
hle : ε / ‖c‖ ≤ ‖x‖
hlt : ‖x‖ < ε
⊢ 1 ≤ ‖c‖ / ε * ‖x‖

tactic: rw [hx, MulZeroClass.mul_zero]
state_before: case pos
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x : E
hx : ‖x‖ = 0
⊢ ‖↑f x‖ ≤ ‖c‖ / ε * ‖x‖

tactic: exact le_of_eq (norm_image_of_norm_zero f hf hx)
state_before: case pos
𝕜 : Type u_2
𝕜₂ : Type u_3
𝕜₃ : Type ?u.156253
E : Type u_4
Eₗ : Type ?u.156259
F : Type u_5
Fₗ : Type ?u.156265
G : Type ?u.156268
Gₗ : Type ?u.156271
𝓕 : Type u_1
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 σ₁₂
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : SemilinearMapClass 𝓕 σ₁₂ E F
f : 𝓕
hf : Continuous ↑f
ε : ℝ
ε_pos : ε > 0
hε : ∀ (x' : E), ‖x'‖ < ε → ‖↑f x'‖ < 1
c : 𝕜
hc : 1 < ‖c‖
this : 0 < ‖c‖ / ε
x : E
hx : ‖x‖ = 0
⊢ ‖↑f x‖ ≤ 0