-- Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean
theorem opNorm_comp_linearIsometryEquiv (f : F →SL[σ₂₃] G) (g : F' ≃ₛₗᵢ[σ₂'] F) :
    ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ = ‖f‖

Proof state:
case inl
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Subsingleton F'
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ = ‖f‖

Tactic:
haveI := g.symm.toLinearEquiv.toEquiv.subsingleton

Result:
case inl
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Subsingleton F'
this : Subsingleton F
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ = ‖f‖

Proof state:
case h.e'_4
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Nontrivial F'
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ =
    ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ * ‖g.symm.toLinearIsometry.toContinuousLinearMap‖

Tactic:
haveI := g.symm.surjective.nontrivial

Result:
case h.e'_4
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Nontrivial F'
this : Nontrivial F
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ =
    ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ * ‖g.symm.toLinearIsometry.toContinuousLinearMap‖

Proof state:
case inl
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Subsingleton F'
this : Subsingleton F
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ = ‖f‖

Tactic:
simp

Result:
no goals

Proof state:
case inr.refine_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Nontrivial F'
⊢ ‖f.comp g.toLinearIsometry.toContinuousLinearMap‖ ≤ ‖f‖

Tactic:
convert f.opNorm_comp_le g.toLinearIsometry.toContinuousLinearMap

Result:
case h.e'_4
𝕜₂ : Type u_2
𝕜₃ : Type u_3
F : Type u_5
G : Type u_7
inst✝¹⁶ : NormedAddCommGroup F
inst✝¹⁵ : NormedAddCommGroup G
inst✝¹⁴ : NontriviallyNormedField 𝕜₂
inst✝¹³ : NontriviallyNormedField 𝕜₃
inst✝¹² : NormedSpace 𝕜₂ F
inst✝¹¹ : NormedSpace 𝕜₃ G
σ₂₃ : 𝕜₂ →+* 𝕜₃
𝕜₂' : Type u_8
inst✝¹⁰ : NontriviallyNormedField 𝕜₂'
F' : Type u_9
inst✝⁹ : NormedAddCommGroup F'
inst✝⁸ : NormedSpace 𝕜₂' F'
σ₂' : 𝕜₂' →+* 𝕜₂
σ₂'' : 𝕜₂ →+* 𝕜₂'
σ₂₃' : 𝕜₂' →+* 𝕜₃
inst✝⁷ : RingHomInvPair σ₂' σ₂''
inst✝⁶ : RingHomInvPair σ₂'' σ₂'
inst✝⁵ : RingHomCompTriple σ₂' σ₂₃ σ₂₃'
inst✝⁴ : RingHomCompTriple σ₂'' σ₂₃' σ₂₃
inst✝³ : RingHomIsometric σ₂₃
inst✝² : RingHomIsometric σ₂'
inst✝¹ : RingHomIsometric σ₂''
inst✝ : RingHomIsometric σ₂₃'
f : F →SL[σ₂₃] G
g : F' ≃ₛₗᵢ[σ₂'] F
h✝ : Nontrivial F'
⊢ ‖f‖ = ‖f‖ * ‖g.toLinearIsometry.toContinuousLinearMap‖