File: Mathlib/Algebra/Lie/Derivation/Killing.lean

full_name: LieDerivation.IsKilling._aux_Mathlib_Algebra_Lie_Derivation_Killing___macroRules_LieDerivation_IsKilling_term𝔻_1
code: /-- A local notation for the set of (Lie) derivations on `L`. -/
local notation "𝔻" => (LieDerivation R L L)
goal: Lean.Macro

full_name: LieDerivation.IsKilling._aux_Mathlib_Algebra_Lie_Derivation_Killing___macroRules_LieDerivation_IsKilling_term𝕀_1
code: /-- A local notation for the range of `ad`. -/
local notation "𝕀" => (LieHom.range (ad R L))
goal: Lean.Macro

full_name: LieDerivation.IsKilling._aux_Mathlib_Algebra_Lie_Derivation_Killing___unexpand_LinearMap_BilinForm_orthogonal_1
code: /-- A local notation for the Killing complement of the ideal range of `ad`. -/
local notation "𝕀ᗮ" => LinearMap.BilinForm.orthogonal (killingForm R 𝔻) 𝕀
goal: Lean.PrettyPrinter.Unexpander

full_name: LieDerivation.IsKilling.«_aux_Mathlib_Algebra_Lie_Derivation_Killing___macroRules_LieDerivation_IsKilling_term𝕀ᗮ_1»
code: /-- A local notation for the Killing complement of the ideal range of `ad`. -/
local notation "𝕀ᗮ" => LinearMap.BilinForm.orthogonal (killingForm R 𝔻) 𝕀
goal: Lean.Macro

full_name: LieDerivation.IsKilling.killingForm_restrict_range_ad
code: lemma killingForm_restrict_range_ad : (killingForm R 𝔻).restrict 𝕀 = killingForm R 𝕀 
goal: (killingForm R (LieDerivation R L L)).restrict (LieDerivation.ad R L).range.toSubmodule =
  killingForm R ↥(LieDerivation.ad R L).range

full_name: LieDerivation.IsKilling.rangeAdOrthogonal
code: /-- The orthogonal complement of the inner derivations is a Lie submodule of all derivations. -/
@[simps!] noncomputable def rangeAdOrthogonal : LieSubmodule R L (LieDerivation R L L) 
goal: LieSubmodule R L (LieDerivation R L L)

full_name: LieDerivation.IsKilling.rangeAdOrthogonal_carrier
code: /-- The orthogonal complement of the inner derivations is a Lie submodule of all derivations. -/
@[simps!] noncomputable def rangeAdOrthogonal : LieSubmodule R L (LieDerivation R L L) 
goal: ↑(LieDerivation.IsKilling.rangeAdOrthogonal R L) =
  {m | ∀ (a : L), (killingForm R (LieDerivation R L L)).IsOrtho ((LieDerivation.ad R L) a) m}

full_name: LieDerivation.IsKilling.ad_mem_orthogonal_of_mem_orthogonal
code: /-- If a derivation `D` is in the Killing orthogonal of the range of the adjoint action, then, for
any `x : L`, `ad (D x)` is also in this orthogonal. -/
lemma ad_mem_orthogonal_of_mem_orthogonal {D : LieDerivation R L L} (hD : D ∈ 𝕀ᗮ) (x : L) :
    ad R L (D x) ∈ 𝕀ᗮ 
goal: (LieDerivation.ad R L) (D x) ∈ (killingForm R (LieDerivation R L L)).orthogonal (LieDerivation.ad R L).range.toSubmodule

full_name: LieDerivation.IsKilling.ad_mem_ker_killingForm_ad_range_of_mem_orthogonal
code: lemma ad_mem_ker_killingForm_ad_range_of_mem_orthogonal
    {D : LieDerivation R L L} (hD : D ∈ 𝕀ᗮ) (x : L) :
    ad R L (D x) ∈ (LinearMap.ker (killingForm R 𝕀)).map (LieHom.range (ad R L)).subtype 
goal: (LieDerivation.ad R L) (D x) ∈
  Submodule.map (LieDerivation.ad R L).range.subtype (LinearMap.ker (killingForm R ↥(LieDerivation.ad R L).range))

full_name: LieDerivation.IsKilling.ad_apply_eq_zero_iff
code: @[simp] lemma ad_apply_eq_zero_iff (x : L) : ad R L x = 0 ↔ x = 0 
goal: (LieDerivation.ad R L) x = 0 ↔ x = 0

full_name: LieDerivation.IsKilling.instIsKilling_range_ad
code: instance instIsKilling_range_ad : LieAlgebra.IsKilling R 𝕀 
goal: LieAlgebra.IsKilling R ↥(LieDerivation.ad R L).range

full_name: LieDerivation.IsKilling.killingForm_restrict_range_ad_nondegenerate
code: /-- The restriction of the Killing form of a finite-dimensional Killing Lie algebra to the range of
the adjoint action is nondegenerate. -/
lemma killingForm_restrict_range_ad_nondegenerate : ((killingForm R 𝔻).restrict 𝕀).Nondegenerate 
goal: ((killingForm R (LieDerivation R L L)).restrict (LieDerivation.ad R L).range.toSubmodule).Nondegenerate

full_name: LieDerivation.IsKilling.range_ad_eq_top
code: /-- The range of the adjoint action on a finite-dimensional Killing Lie algebra is full. -/
@[simp]
lemma range_ad_eq_top : 𝕀 = ⊤ 
goal: (LieDerivation.ad R L).range = ⊤

full_name: LieDerivation.IsKilling.exists_eq_ad
code: /-- Every derivation of a finite-dimensional Killing Lie algebra is an inner derivation. -/
lemma exists_eq_ad (D : 𝔻) : ∃ x, ad R L x = D 
goal: ∃ x, (LieDerivation.ad R L) x = D