Theorem: LinearIsometry.extend_apply
File: Mathlib/Analysis/InnerProductSpace/PiL2.lean

tactic: haveI : CompleteSpace S := FiniteDimensional.complete 𝕜 S
state_before: ι : Type u_1
ι' : Type u_2
𝕜 : Type u_3
inst✝¹² : _root_.RCLike 𝕜
E : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : InnerProductSpace 𝕜 E
E' : Type u_5
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
F : Type u_6
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : InnerProductSpace ℝ F
F' : Type u_7
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : InnerProductSpace ℝ F'
inst✝³ : Fintype ι
V : Type u_8
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace 𝕜 V
inst✝ : FiniteDimensional 𝕜 V
S : Submodule 𝕜 V
L✝ L : ↥S →ₗᵢ[𝕜] V
s : ↥S
⊢ L.extend ↑s = L s
state_after: ι : Type u_1
ι' : Type u_2
𝕜 : Type u_3
inst✝¹² : _root_.RCLike 𝕜
E : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : InnerProductSpace 𝕜 E
E' : Type u_5
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
F : Type u_6
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : InnerProductSpace ℝ F
F' : Type u_7
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : InnerProductSpace ℝ F'
inst✝³ : Fintype ι
V : Type u_8
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace 𝕜 V
inst✝ : FiniteDimensional 𝕜 V
S : Submodule 𝕜 V
L✝ L : ↥S →ₗᵢ[𝕜] V
s : ↥S
this : CompleteSpace ↥S
⊢ L.extend ↑s = L s

tactic: simp only [LinearIsometry.extend, ← LinearIsometry.coe_toLinearMap]
state_before: ι : Type u_1
ι' : Type u_2
𝕜 : Type u_3
inst✝¹² : _root_.RCLike 𝕜
E : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : InnerProductSpace 𝕜 E
E' : Type u_5
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
F : Type u_6
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : InnerProductSpace ℝ F
F' : Type u_7
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : InnerProductSpace ℝ F'
inst✝³ : Fintype ι
V : Type u_8
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace 𝕜 V
inst✝ : FiniteDimensional 𝕜 V
S : Submodule 𝕜 V
L✝ L : ↥S →ₗᵢ[𝕜] V
s : ↥S
this : CompleteSpace ↥S
⊢ L.extend ↑s = L s
state_after: ι : Type u_1
ι' : Type u_2
𝕜 : Type u_3
inst✝¹² : _root_.RCLike 𝕜
E : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : InnerProductSpace 𝕜 E
E' : Type u_5
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
F : Type u_6
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : InnerProductSpace ℝ F
F' : Type u_7
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : InnerProductSpace ℝ F'
inst✝³ : Fintype ι
V : Type u_8
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace 𝕜 V
inst✝ : FiniteDimensional 𝕜 V
S : Submodule 𝕜 V
L✝ L : ↥S →ₗᵢ[𝕜] V
s : ↥S
this : CompleteSpace ↥S
⊢ (L.toLinearMap ∘ₗ ↑(orthogonalProjection S) +
        ((LinearMap.range L.toLinearMap)ᗮ.subtypeₗᵢ.comp
              ((stdOrthonormalBasis 𝕜 ↥Sᗮ).repr.trans
                  ((stdOrthonormalBasis 𝕜 ↥(LinearMap.range L.toLinearMap)ᗮ).reindex
                        (finCongr ⋯)).repr.symm).toLinearIsometry).toLinearMap ∘ₗ
          ↑(orthogonalProjection Sᗮ))
      ↑s =
    L.toLinearMap s

tactic: simp only [add_right_eq_self, LinearIsometry.coe_toLinearMap,
  LinearIsometryEquiv.coe_toLinearIsometry, LinearIsometry.coe_comp, Function.comp_apply,
  orthogonalProjection_mem_subspace_eq_self, LinearMap.coe_comp, ContinuousLinearMap.coe_coe,
  Submodule.coeSubtype, LinearMap.add_apply, Submodule.coe_eq_zero,
  LinearIsometryEquiv.map_eq_zero_iff, Submodule.coe_subtypeₗᵢ,
  orthogonalProjection_mem_subspace_orthogonalComplement_eq_zero, Submodule.orthogonal_orthogonal,
  Submodule.coe_mem]
state_before: ι : Type u_1
ι' : Type u_2
𝕜 : Type u_3
inst✝¹² : _root_.RCLike 𝕜
E : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : InnerProductSpace 𝕜 E
E' : Type u_5
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
F : Type u_6
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : InnerProductSpace ℝ F
F' : Type u_7
inst✝⁵ : NormedAddCommGroup F'
inst✝⁴ : InnerProductSpace ℝ F'
inst✝³ : Fintype ι
V : Type u_8
inst✝² : NormedAddCommGroup V
inst✝¹ : InnerProductSpace 𝕜 V
inst✝ : FiniteDimensional 𝕜 V
S : Submodule 𝕜 V
L✝ L : ↥S →ₗᵢ[𝕜] V
s : ↥S
this : CompleteSpace ↥S
⊢ (L.toLinearMap ∘ₗ ↑(orthogonalProjection S) +
        ((LinearMap.range L.toLinearMap)ᗮ.subtypeₗᵢ.comp
              ((stdOrthonormalBasis 𝕜 ↥Sᗮ).repr.trans
                  ((stdOrthonormalBasis 𝕜 ↥(LinearMap.range L.toLinearMap)ᗮ).reindex
                        (finCongr ⋯)).repr.symm).toLinearIsometry).toLinearMap ∘ₗ
          ↑(orthogonalProjection Sᗮ))
      ↑s =
    L.toLinearMap s
state_after: no goals