l3lab/ntp-mathlib huggingface dataset:
/-- `ContinuousLinearMap.smulRight` as a continuous trilinear map:
`smulRightL (c : E →L[𝕜] 𝕜) (f : F) (x : E) = c x • f`. -/
def smulRightL : (E →L[𝕜] 𝕜) →L[𝕜] Fₗ →L[𝕜] E →L[𝕜] Fₗ :=
  LinearMap.mkContinuous₂
    { toFun := smulRightₗ
      map_add' := fun c₁ c₂ => by
        ext x
        simp only [add_smul, coe_smulRightₗ, add_apply, smulRight_apply, LinearMap.add_apply]
      map_smul' := fun m c => by
        ext x
        simp only [smul_smul, coe_smulRightₗ, Algebra.id.smul_eq_mul, coe_smul', smulRight_apply,
          LinearMap.smul_apply, RingHom.id_apply, Pi.smul_apply] }
    1 fun c x => by
      

Proof state:
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²¹ : NormedAddCommGroup E
inst✝²⁰ : NormedAddCommGroup F
inst✝¹⁹ : NormedAddCommGroup G
inst✝¹⁸ : NormedAddCommGroup Fₗ
inst✝¹⁷ : NontriviallyNormedField 𝕜
inst✝¹⁶ : NontriviallyNormedField 𝕜₂
inst✝¹⁵ : NontriviallyNormedField 𝕜₃
inst✝¹⁴ : NormedSpace 𝕜 E
inst✝¹³ : NormedSpace 𝕜₂ F
inst✝¹² : NormedSpace 𝕜₃ G
inst✝¹¹ : NormedSpace 𝕜 Fₗ
c✝ : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
c : E →L[𝕜] 𝕜
x : Fₗ
⊢ ‖({
            toAddHom :=
              { toFun := smulRightₗ,
                map_add' := (_ : ∀ (c₁ c₂ : E →L[𝕜] 𝕜), smulRightₗ (c₁ + c₂) = smulRightₗ c₁ + smulRightₗ c₂) },
            map_smul' :=
              (_ :
                ∀ (m : 𝕜) (c : E →L[𝕜] 𝕜),
                  AddHom.toFun
                      { toFun := smulRightₗ,
                        map_add' := (_ : ∀ (c₁ c₂ : E →L[𝕜] 𝕜), smulRightₗ (c₁ + c₂) = smulRightₗ c₁ + smulRightₗ c₂) }
                      (m • c) =
                    (RingHom.id 𝕜) m •
                      AddHom.toFun
                        { toFun := smulRightₗ,
                          map_add' :=
                            (_ : ∀ (c₁ c₂ : E →L[𝕜] 𝕜), smulRightₗ (c₁ + c₂) = smulRightₗ c₁ + smulRightₗ c₂) }
                        c) }
          c)
        x‖ ≤
    1 * ‖c‖ * ‖x‖

Next tactic:
simp only [coe_smulRightₗ, one_mul, norm_smulRight_apply, LinearMap.coe_mk, AddHom.coe_mk,
        le_refl]
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  

Proof state:
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
⊢ ‖lsmul 𝕜 𝕜'‖ = 1

Next tactic:
refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · 

Proof state:
case refine'_1
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
x : 𝕜'
⊢ ‖(lsmul 𝕜 𝕜') x‖ ≤ 1 * ‖x‖

Next tactic:
rw [one_mul]
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    

Proof state:
case refine'_1
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
x : 𝕜'
⊢ ‖(lsmul 𝕜 𝕜') x‖ ≤ ‖x‖

Next tactic:
apply op_norm_lsmul_apply_le
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    apply op_norm_lsmul_apply_le
  

Proof state:
case refine'_2
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
N : ℝ
x✝ : N ≥ 0
h : ∀ (x : 𝕜'), ‖(lsmul 𝕜 𝕜') x‖ ≤ N * ‖x‖
⊢ 1 ≤ N

Next tactic:
obtain ⟨y, hy⟩ := exists_ne (0 : E)
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    apply op_norm_lsmul_apply_le
  obtain ⟨y, hy⟩ := exists_ne (0 : E)
  

Proof state:
case refine'_2.intro
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
N : ℝ
x✝ : N ≥ 0
h : ∀ (x : 𝕜'), ‖(lsmul 𝕜 𝕜') x‖ ≤ N * ‖x‖
y : E
hy : y ≠ 0
⊢ 1 ≤ N

Next tactic:
have := le_of_op_norm_le _ (h 1) y
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    apply op_norm_lsmul_apply_le
  obtain ⟨y, hy⟩ := exists_ne (0 : E)
  have := le_of_op_norm_le _ (h 1) y
  

Proof state:
case refine'_2.intro
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
N : ℝ
x✝ : N ≥ 0
h : ∀ (x : 𝕜'), ‖(lsmul 𝕜 𝕜') x‖ ≤ N * ‖x‖
y : E
hy : y ≠ 0
this : ‖((lsmul 𝕜 𝕜') 1) y‖ ≤ N * ‖1‖ * ‖y‖
⊢ 1 ≤ N

Next tactic:
simp_rw [lsmul_apply, one_smul, norm_one, mul_one] at this
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    apply op_norm_lsmul_apply_le
  obtain ⟨y, hy⟩ := exists_ne (0 : E)
  have := le_of_op_norm_le _ (h 1) y
  simp_rw [lsmul_apply, one_smul, norm_one, mul_one] at this
  

Proof state:
case refine'_2.intro
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
N : ℝ
x✝ : N ≥ 0
h : ∀ (x : 𝕜'), ‖(lsmul 𝕜 𝕜') x‖ ≤ N * ‖x‖
y : E
hy : y ≠ 0
this : ‖y‖ ≤ N * ‖y‖
⊢ 1 ≤ N

Next tactic:
refine' le_of_mul_le_mul_right _ (norm_pos_iff.mpr hy)
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

This is `ContinuousLinearMap.op_norm_lsmul_le` as an equality. -/
@[simp]
theorem op_norm_lsmul [NormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] [NormedSpace 𝕜' E]
    [IsScalarTower 𝕜 𝕜' E] [Nontrivial E] : ‖(lsmul 𝕜 𝕜' : 𝕜' →L[𝕜] E →L[𝕜] E)‖ = 1 := by
  refine' ContinuousLinearMap.op_norm_eq_of_bounds zero_le_one (fun x => _) fun N _ h => _
  · rw [one_mul]
    apply op_norm_lsmul_apply_le
  obtain ⟨y, hy⟩ := exists_ne (0 : E)
  have := le_of_op_norm_le _ (h 1) y
  simp_rw [lsmul_apply, one_smul, norm_one, mul_one] at this
  refine' le_of_mul_le_mul_right _ (norm_pos_iff.mpr hy)
  

Proof state:
case refine'_2.intro
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝²⁶ : NormedAddCommGroup E
inst✝²⁵ : NormedAddCommGroup F
inst✝²⁴ : NormedAddCommGroup G
inst✝²³ : NormedAddCommGroup Fₗ
inst✝²² : NontriviallyNormedField 𝕜
inst✝²¹ : NontriviallyNormedField 𝕜₂
inst✝²⁰ : NontriviallyNormedField 𝕜₃
inst✝¹⁹ : NormedSpace 𝕜 E
inst✝¹⁸ : NormedSpace 𝕜₂ F
inst✝¹⁷ : NormedSpace 𝕜₃ G
inst✝¹⁶ : NormedSpace 𝕜 Fₗ
c : 𝕜
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_11
inst✝¹⁵ : NontriviallyNormedField 𝕜₂'
F' : Type u_12
inst✝¹⁴ : NormedAddCommGroup F'
inst✝¹³ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝¹² : RingHomInvPair σ₂' σ₂''
inst✝¹¹ : RingHomInvPair σ₂'' σ₂'
inst✝¹⁰ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁹ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝⁸ : RingHomIsometric σ₂₃
inst✝⁷ : RingHomIsometric σ₂'
inst✝⁶ : RingHomIsometric σ₂''
inst✝⁵ : RingHomIsometric σ₂₃'
𝕜' : Type u_13
inst✝⁴ : NormedField 𝕜'
inst✝³ : NormedAlgebra 𝕜 𝕜'
inst✝² : NormedSpace 𝕜' E
inst✝¹ : IsScalarTower 𝕜 𝕜' E
inst✝ : Nontrivial E
N : ℝ
x✝ : N ≥ 0
h : ∀ (x : 𝕜'), ‖(lsmul 𝕜 𝕜') x‖ ≤ N * ‖x‖
y : E
hy : y ≠ 0
this : ‖y‖ ≤ N * ‖y‖
⊢ 1 * ‖y‖ ≤ N * ‖y‖

Next tactic:
simp_rw [one_mul, this]
theorem one_le_norm_mul_norm_symm [RingHomIsometric σ₁₂] [Nontrivial E] (e : E ≃SL[σ₁₂] F) :
    1 ≤ ‖(e : E →SL[σ₁₂] F)‖ * ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  

Proof state:
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedAddCommGroup G
inst✝¹⁰ : NormedAddCommGroup Fₗ
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NontriviallyNormedField 𝕜₂
inst✝⁷ : NontriviallyNormedField 𝕜₃
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝⁴ : RingHomInvPair σ₁₂ σ₂₁
inst✝³ : RingHomInvPair σ₂₁ σ₁₂
inst✝² : RingHomIsometric σ₂₁
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : Nontrivial E
e : E ≃SL[σ₁₂] F
⊢ 1 ≤ ‖↑e‖ * ‖↑(ContinuousLinearEquiv.symm e)‖

Next tactic:
rw [mul_comm]
theorem one_le_norm_mul_norm_symm [RingHomIsometric σ₁₂] [Nontrivial E] (e : E ≃SL[σ₁₂] F) :
    1 ≤ ‖(e : E →SL[σ₁₂] F)‖ * ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rw [mul_comm]
  

Proof state:
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedAddCommGroup G
inst✝¹⁰ : NormedAddCommGroup Fₗ
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NontriviallyNormedField 𝕜₂
inst✝⁷ : NontriviallyNormedField 𝕜₃
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝⁴ : RingHomInvPair σ₁₂ σ₂₁
inst✝³ : RingHomInvPair σ₂₁ σ₁₂
inst✝² : RingHomIsometric σ₂₁
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : Nontrivial E
e : E ≃SL[σ₁₂] F
⊢ 1 ≤ ‖↑(ContinuousLinearEquiv.symm e)‖ * ‖↑e‖

Next tactic:
convert (e.symm : F →SL[σ₂₁] E).op_norm_comp_le (e : E →SL[σ₁₂] F)
theorem one_le_norm_mul_norm_symm [RingHomIsometric σ₁₂] [Nontrivial E] (e : E ≃SL[σ₁₂] F) :
    1 ≤ ‖(e : E →SL[σ₁₂] F)‖ * ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rw [mul_comm]
  convert (e.symm : F →SL[σ₂₁] E).op_norm_comp_le (e : E →SL[σ₁₂] F)
  

Proof state:
case h.e'_3
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedAddCommGroup G
inst✝¹⁰ : NormedAddCommGroup Fₗ
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NontriviallyNormedField 𝕜₂
inst✝⁷ : NontriviallyNormedField 𝕜₃
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝⁴ : RingHomInvPair σ₁₂ σ₂₁
inst✝³ : RingHomInvPair σ₂₁ σ₁₂
inst✝² : RingHomIsometric σ₂₁
inst✝¹ : RingHomIsometric σ₁₂
inst✝ : Nontrivial E
e : E ≃SL[σ₁₂] F
⊢ 1 = ‖comp ↑(ContinuousLinearEquiv.symm e) ↑e‖

Next tactic:
rw [e.coe_symm_comp_coe, ContinuousLinearMap.norm_id]
theorem subsingleton_or_norm_symm_pos [RingHomIsometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
    Subsingleton E ∨ 0 < ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  

Proof state:
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup Fₗ
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NontriviallyNormedField 𝕜₂
inst✝⁶ : NontriviallyNormedField 𝕜₃
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomIsometric σ₂₁
inst✝ : RingHomIsometric σ₁₂
e : E ≃SL[σ₁₂] F
⊢ Subsingleton E ∨ 0 < ‖↑(ContinuousLinearEquiv.symm e)‖

Next tactic:
rcases subsingleton_or_nontrivial E with (_i | _i)
theorem subsingleton_or_norm_symm_pos [RingHomIsometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
    Subsingleton E ∨ 0 < ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rcases subsingleton_or_nontrivial E with (_i | _i) <;> 

Proof state:
case inl
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup Fₗ
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NontriviallyNormedField 𝕜₂
inst✝⁶ : NontriviallyNormedField 𝕜₃
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomIsometric σ₂₁
inst✝ : RingHomIsometric σ₁₂
e : E ≃SL[σ₁₂] F
_i : Subsingleton E
⊢ Subsingleton E ∨ 0 < ‖↑(ContinuousLinearEquiv.symm e)‖

Next tactic:
skip
theorem subsingleton_or_norm_symm_pos [RingHomIsometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
    Subsingleton E ∨ 0 < ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rcases subsingleton_or_nontrivial E with (_i | _i) <;> 

Proof state:
case inr
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup Fₗ
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NontriviallyNormedField 𝕜₂
inst✝⁶ : NontriviallyNormedField 𝕜₃
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomIsometric σ₂₁
inst✝ : RingHomIsometric σ₁₂
e : E ≃SL[σ₁₂] F
_i : Nontrivial E
⊢ Subsingleton E ∨ 0 < ‖↑(ContinuousLinearEquiv.symm e)‖

Next tactic:
skip
theorem subsingleton_or_norm_symm_pos [RingHomIsometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
    Subsingleton E ∨ 0 < ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rcases subsingleton_or_nontrivial E with (_i | _i) <;> skip
  · 

Proof state:
case inl
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup Fₗ
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NontriviallyNormedField 𝕜₂
inst✝⁶ : NontriviallyNormedField 𝕜₃
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomIsometric σ₂₁
inst✝ : RingHomIsometric σ₁₂
e : E ≃SL[σ₁₂] F
_i : Subsingleton E
⊢ Subsingleton E ∨ 0 < ‖↑(ContinuousLinearEquiv.symm e)‖

Next tactic:
left
theorem subsingleton_or_norm_symm_pos [RingHomIsometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
    Subsingleton E ∨ 0 < ‖(e.symm : F →SL[σ₂₁] E)‖ := by
  rcases subsingleton_or_nontrivial E with (_i | _i) <;> skip
  · left
    

Proof state:
case inl.h
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup Fₗ
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NontriviallyNormedField 𝕜₂
inst✝⁶ : NontriviallyNormedField 𝕜₃
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : NormedSpace 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₁ : 𝕜₂ →+* 𝕜
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomIsometric σ₂₁
inst✝ : RingHomIsometric σ₁₂
e : E ≃SL[σ₁₂] F
_i : Subsingleton E
⊢ Subsingleton E

Next tactic:
infer_instance