File: Mathlib/Algebra/Lie/Semisimple/Basic.lean

full_name: LieModule.nontrivial_of_isIrreducible
code: lemma LieModule.nontrivial_of_isIrreducible [LieModule.IsIrreducible R L M] : Nontrivial M 
goal: Nontrivial M

full_name: LieAlgebra.HasTrivialRadical.eq_bot_of_isSolvable
code: theorem HasTrivialRadical.eq_bot_of_isSolvable [HasTrivialRadical R L]
    (I : LieIdeal R L) [hI : IsSolvable R I] : I = ⊥ 
goal: I = ⊥

full_name: LieAlgebra.HasTrivialRadical.center_eq_bot
code: @[simp]
theorem HasTrivialRadical.center_eq_bot [HasTrivialRadical R L] : center R L = ⊥ 
goal: LieAlgebra.center R L = ⊥

full_name: LieAlgebra.hasTrivialRadical_of_no_solvable_ideals
code: theorem hasTrivialRadical_of_no_solvable_ideals (h : ∀ I : LieIdeal R L, IsSolvable R I → I = ⊥) :
    HasTrivialRadical R L 
goal: LieAlgebra.HasTrivialRadical R L

full_name: LieAlgebra.hasTrivialRadical_iff_no_solvable_ideals
code: theorem hasTrivialRadical_iff_no_solvable_ideals :
    HasTrivialRadical R L ↔ ∀ I : LieIdeal R L, IsSolvable R I → I = ⊥ 
goal: LieAlgebra.HasTrivialRadical R L ↔ ∀ (I : LieIdeal R L), LieAlgebra.IsSolvable R ↥↑I → I = ⊥

full_name: LieAlgebra.hasTrivialRadical_iff_no_abelian_ideals
code: theorem hasTrivialRadical_iff_no_abelian_ideals :
    HasTrivialRadical R L ↔ ∀ I : LieIdeal R L, IsLieAbelian I → I = ⊥ 
goal: LieAlgebra.HasTrivialRadical R L ↔ ∀ (I : LieIdeal R L), IsLieAbelian ↥↑I → I = ⊥

full_name: LieAlgebra.IsSimple.instIsIrreducible
code: instance : LieModule.IsIrreducible R L L 
goal: LieModule.IsIrreducible R L L

full_name: LieAlgebra.IsSimple.eq_top_of_isAtom
code: lemma eq_top_of_isAtom (I : LieIdeal R L) (hI : IsAtom I) : I = ⊤ 
goal: I = ⊤

full_name: LieAlgebra.IsSimple.isAtom_top
code: lemma isAtom_top : IsAtom (⊤ : LieIdeal R L) 
goal: IsAtom ⊤

full_name: LieAlgebra.IsSimple.isAtom_iff_eq_top
code: @[simp] lemma isAtom_iff_eq_top (I : LieIdeal R L) : IsAtom I ↔ I = ⊤ 
goal: IsAtom I ↔ I = ⊤

full_name: LieAlgebra.IsSimple.instHasTrivialRadical
code: instance : HasTrivialRadical R L 
goal: LieAlgebra.HasTrivialRadical R L

full_name: LieAlgebra.IsSemisimple.isSimple_of_isAtom
code: lemma isSimple_of_isAtom (I : LieIdeal R L) (hI : IsAtom I) : IsSimple R I 
goal: LieAlgebra.IsSimple R ↥↑I

full_name: _private.Mathlib.Algebra.Lie.Semisimple.Basic.0.LieAlgebra.IsSemisimple.finitelyAtomistic
code: /--
In a semisimple Lie algebra,
Lie ideals that are contained in the supremum of a finite collection of atoms
are themselves the supremum of a finite subcollection of those atoms.

By a compactness argument, this statement can be extended to arbitrary sets of atoms.
See `atomistic`.

The proof is by induction on the finite set of atoms.
-/
private
lemma finitelyAtomistic : ∀ s : Finset (LieIdeal R L), ↑s ⊆ {I : LieIdeal R L | IsAtom I} →
    ∀ I : LieIdeal R L, I ≤ s.sup id → ∃ t ⊆ s, I = t.sup id 
goal: ↑s ⊆ {I | IsAtom I} → ∀ I ≤ s.sup id, ∃ t ⊆ s, I = t.sup id

full_name: LieAlgebra.IsSemisimple.booleanGenerators
code: lemma booleanGenerators : BooleanGenerators {I : LieIdeal R L | IsAtom I} 
goal: IsCompactlyGenerated.BooleanGenerators {I | IsAtom I}

full_name: LieAlgebra.IsSemisimple.instDistribLattice
code: instance (priority := 100) instDistribLattice : DistribLattice (LieIdeal R L) 
goal: DistribLattice (LieIdeal R L)

full_name: LieAlgebra.IsSemisimple.instBooleanAlgebra
code: noncomputable
instance (priority := 100) instBooleanAlgebra : BooleanAlgebra (LieIdeal R L) 
goal: BooleanAlgebra (LieIdeal R L)

full_name: LieAlgebra.IsSemisimple.instHasTrivialRadical
code: /-- A semisimple Lie algebra has trivial radical. -/
instance (priority := 100) instHasTrivialRadical : HasTrivialRadical R L 
goal: LieAlgebra.HasTrivialRadical R L

full_name: LieAlgebra.IsSimple.instIsSemisimple
code: /-- A simple Lie algebra is semisimple. -/
instance (priority := 100) IsSimple.instIsSemisimple [IsSimple R L] :
    IsSemisimple R L 
goal: LieAlgebra.IsSemisimple R L

full_name: LieAlgebra.subsingleton_of_hasTrivialRadical_lie_abelian
code: /-- An abelian Lie algebra with trivial radical is trivial. -/
theorem subsingleton_of_hasTrivialRadical_lie_abelian [HasTrivialRadical R L] [h : IsLieAbelian L] :
    Subsingleton L 
goal: Subsingleton L

full_name: LieAlgebra.abelian_radical_of_hasTrivialRadical
code: theorem abelian_radical_of_hasTrivialRadical [HasTrivialRadical R L] :
    IsLieAbelian (radical R L) 
goal: IsLieAbelian ↥↑(LieAlgebra.radical R L)

full_name: LieAlgebra.abelian_radical_iff_solvable_is_abelian
code: /-- The two properties shown to be equivalent here are possible definitions for a Lie algebra
to be reductive.

Note that there is absolutely [no agreement](https://mathoverflow.net/questions/284713/) on what
the label 'reductive' should mean when the coefficients are not a field of characteristic zero. -/
theorem abelian_radical_iff_solvable_is_abelian [IsNoetherian R L] :
    IsLieAbelian (radical R L) ↔ ∀ I : LieIdeal R L, IsSolvable R I → IsLieAbelian I 
goal: IsLieAbelian ↥↑(LieAlgebra.radical R L) ↔ ∀ (I : LieIdeal R L), LieAlgebra.IsSolvable R ↥↑I → IsLieAbelian ↥↑I

full_name: LieAlgebra.ad_ker_eq_bot_of_hasTrivialRadical
code: theorem ad_ker_eq_bot_of_hasTrivialRadical [HasTrivialRadical R L] : (ad R L).ker = ⊥ 
goal: (LieAlgebra.ad R L).ker = ⊥