Theorem: banach_steinhaus_iSup_nnnorm
File: Mathlib/Analysis/NormedSpace/BanachSteinhaus.lean

tactic: have h' : ∀ x : E, ∃ C : ℝ, ∀ i : ι, ‖g i x‖ ≤ C := by
  intro x
  rcases lt_iff_exists_coe.mp (h x) with ⟨p, hp₁, _⟩
  refine' ⟨p, fun i => _⟩
  exact_mod_cast
    calc
      (‖g i x‖₊ : ℝ≥0∞) ≤ ⨆ j, ↑‖g j x‖₊ := le_iSup (fun j => (‖g j x‖₊ : ℝ≥0∞)) i
      _ = p := hp₁
state_before: E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
⊢ (⨆ (i : ι), ↑‖g i‖₊) < ⊤

tactic: cases' banach_steinhaus h' with C' hC'
state_before: E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
h' : ∀ (x : E), ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C
⊢ (⨆ (i : ι), ↑‖g i‖₊) < ⊤

tactic: refine' (iSup_le fun i => _).trans_lt (@coe_lt_top C'.toNNReal)
state_before: case intro
E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
h' : ∀ (x : E), ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C
C' : ℝ
hC' : ∀ (i : ι), ‖g i‖ ≤ C'
⊢ (⨆ (i : ι), ↑‖g i‖₊) < ⊤

tactic: rw [← norm_toNNReal]
state_before: case intro
E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
h' : ∀ (x : E), ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C
C' : ℝ
hC' : ∀ (i : ι), ‖g i‖ ≤ C'
i : ι
⊢ ↑‖g i‖₊ ≤ ↑(Real.toNNReal C')

tactic: exact coe_mono (Real.toNNReal_le_toNNReal <| hC' i)
state_before: case intro
E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
h' : ∀ (x : E), ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C
C' : ℝ
hC' : ∀ (i : ι), ‖g i‖ ≤ C'
i : ι
⊢ ↑(Real.toNNReal ‖g i‖) ≤ ↑(Real.toNNReal C')

tactic: intro x
state_before: E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
⊢ ∀ (x : E), ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C

tactic: rcases lt_iff_exists_coe.mp (h x) with ⟨p, hp₁, _⟩
state_before: E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
x : E
⊢ ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C

tactic: refine' ⟨p, fun i => _⟩
state_before: case intro.intro
E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
x : E
p : NNReal
hp₁ : (⨆ (i : ι), ↑‖↑(g i) x‖₊) = ↑p
right✝ : ↑p < ⊤
⊢ ∃ C, ∀ (i : ι), ‖↑(g i) x‖ ≤ C

tactic: exact_mod_cast
  calc
    (‖g i x‖₊ : ℝ≥0∞) ≤ ⨆ j, ↑‖g j x‖₊ := le_iSup (fun j => (‖g j x‖₊ : ℝ≥0∞)) i
    _ = p := hp₁
state_before: case intro.intro
E : Type u_2
F : Type u_5
𝕜 : Type u_3
𝕜₂ : Type u_4
inst✝⁷ : SeminormedAddCommGroup E
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : NontriviallyNormedField 𝕜₂
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : CompleteSpace E
g : ι → E →SL[σ₁₂] F
h : ∀ (x : E), (⨆ (i : ι), ↑‖↑(g i) x‖₊) < ⊤
x : E
p : NNReal
hp₁ : (⨆ (i : ι), ↑‖↑(g i) x‖₊) = ↑p
right✝ : ↑p < ⊤
i : ι
⊢ ‖↑(g i) x‖ ≤ ↑p