File: Mathlib/Algebra/Lie/CartanMatrix.lean

full_name: CartanMatrix.Generators.H
code: /-- The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan
matrix as a quotient. -/
inductive Generators
  | H : B → Generators
  | E : B → Generators
  | F : B → Generators
goal: B → CartanMatrix.Generators B

full_name: CartanMatrix.Generators.E
code: /-- The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan
matrix as a quotient. -/
inductive Generators
  | H : B → Generators
  | E : B → Generators
  | F : B → Generators
goal: B → CartanMatrix.Generators B

full_name: CartanMatrix.Generators.F
code: /-- The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan
matrix as a quotient. -/
inductive Generators
  | H : B → Generators
  | E : B → Generators
  | F : B → Generators
goal: B → CartanMatrix.Generators B

full_name: CartanMatrix.Generators
code: /-- The generators of the free Lie algebra from which we construct the Lie algebra of a Cartan
matrix as a quotient. -/
inductive Generators
  | H : B → Generators
  | E : B → Generators
  | F : B → Generators
goal: Type v

full_name: CartanMatrix.instInhabitedGenerators
code: instance [Inhabited B] : Inhabited (Generators B) 
goal: Inhabited (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations._aux_Mathlib_Algebra_Lie_CartanMatrix___macroRules_CartanMatrix_Relations_termH_1
code: local notation "H" => FreeLieAlgebra.of R ∘ Generators.H
goal: Lean.Macro

full_name: CartanMatrix.Relations._aux_Mathlib_Algebra_Lie_CartanMatrix___macroRules_CartanMatrix_Relations_termE_1
code: local notation "E" => FreeLieAlgebra.of R ∘ Generators.E
goal: Lean.Macro

full_name: CartanMatrix.Relations._aux_Mathlib_Algebra_Lie_CartanMatrix___macroRules_CartanMatrix_Relations_termF_1
code: local notation "F" => FreeLieAlgebra.of R ∘ Generators.F
goal: Lean.Macro

full_name: CartanMatrix.Relations._aux_Mathlib_Algebra_Lie_CartanMatrix___unexpand_LieAlgebra_ad_1
code: local notation "ad" => LieAlgebra.ad R (FreeLieAlgebra R (Generators B))
goal: Lean.PrettyPrinter.Unexpander

full_name: CartanMatrix.Relations._aux_Mathlib_Algebra_Lie_CartanMatrix___macroRules_CartanMatrix_Relations_termAd_1
code: local notation "ad" => LieAlgebra.ad R (FreeLieAlgebra R (Generators B))
goal: Lean.Macro

full_name: CartanMatrix.Relations.HH
code: /-- The terms corresponding to the `⁅H, H⁆`-relations. -/
def HH : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations.EF
code: /-- The terms corresponding to the `⁅E, F⁆`-relations. -/
def EF : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations.HE
code: /-- The terms corresponding to the `⁅H, E⁆`-relations. -/
def HE : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations.HF
code: /-- The terms corresponding to the `⁅H, F⁆`-relations. -/
def HF : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations.adE
code: /-- The terms corresponding to the `ad E`-relations.

Note that we use `Int.toNat` so that we can take the power and that we do not bother
restricting to the case `i ≠ j` since these relations are zero anyway. We also defensively
ensure this with `adE_of_eq_eq_zero`. -/
def adE : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: CartanMatrix.Relations.adF
code: /-- The terms corresponding to the `ad F`-relations.

See also `adE` docstring. -/
def adF : B × B → FreeLieAlgebra R (Generators B) 
goal: B × B → FreeLieAlgebra R (CartanMatrix.Generators B)

full_name: _private.Mathlib.Algebra.Lie.CartanMatrix.0.CartanMatrix.Relations.adE_of_eq_eq_zero
code: private theorem adE_of_eq_eq_zero (i : B) (h : A i i = 2) : adE R A ⟨i, i⟩ = 0 
goal: CartanMatrix.Relations.adE R A (i, i) = 0

full_name: _private.Mathlib.Algebra.Lie.CartanMatrix.0.CartanMatrix.Relations.adF_of_eq_eq_zero
code: private theorem adF_of_eq_eq_zero (i : B) (h : A i i = 2) : adF R A ⟨i, i⟩ = 0 
goal: CartanMatrix.Relations.adF R A (i, i) = 0

full_name: CartanMatrix.Relations.toSet
code: /-- The union of all the relations as a subset of the free Lie algebra. -/
def toSet : Set (FreeLieAlgebra R (Generators B)) 
goal: Set (FreeLieAlgebra R (CartanMatrix.Generators B))

full_name: CartanMatrix.Relations.toIdeal
code: /-- The ideal of the free Lie algebra generated by the relations. -/
def toIdeal : LieIdeal R (FreeLieAlgebra R (Generators B)) 
goal: LieIdeal R (FreeLieAlgebra R (CartanMatrix.Generators B))

full_name: Matrix.ToLieAlgebra
code: /-- The Lie algebra corresponding to a Cartan matrix.

Note that it is defined for any matrix of integers. Its value for non-Cartan matrices should be
regarded as junk. -/
def Matrix.ToLieAlgebra 
goal: Type (max (max v u) u v)

full_name: Matrix.ToLieAlgebra.instLieRing
code: instance Matrix.ToLieAlgebra.instLieRing : LieRing (Matrix.ToLieAlgebra R A) 
goal: LieRing (Matrix.ToLieAlgebra R A)

full_name: Matrix.ToLieAlgebra.instInhabited
code: instance Matrix.ToLieAlgebra.instInhabited : Inhabited (Matrix.ToLieAlgebra R A) 
goal: Inhabited (Matrix.ToLieAlgebra R A)

full_name: Matrix.ToLieAlgebra.instLieAlgebra
code: instance Matrix.ToLieAlgebra.instLieAlgebra : LieAlgebra R (Matrix.ToLieAlgebra R A) 
goal: LieAlgebra R (Matrix.ToLieAlgebra R A)

full_name: CartanMatrix.E₆
code: /-- The Cartan matrix of type e₆. See [bourbaki1968] plate V, page 277.

The corresponding Dynkin diagram is:
```
            o
            |
o --- o --- o --- o --- o
```
-/
def E₆ : Matrix (Fin 6) (Fin 6) ℤ 
goal: Matrix (Fin 6) (Fin 6) ℤ

full_name: CartanMatrix.E₇
code: /-- The Cartan matrix of type e₇. See [bourbaki1968] plate VI, page 281.

The corresponding Dynkin diagram is:
```
            o
            |
o --- o --- o --- o --- o --- o
```
-/
def E₇ : Matrix (Fin 7) (Fin 7) ℤ 
goal: Matrix (Fin 7) (Fin 7) ℤ

full_name: CartanMatrix.E₈
code: /-- The Cartan matrix of type e₈. See [bourbaki1968] plate VII, page 285.

The corresponding Dynkin diagram is:
```
            o
            |
o --- o --- o --- o --- o --- o --- o
```
-/
def E₈ : Matrix (Fin 8) (Fin 8) ℤ 
goal: Matrix (Fin 8) (Fin 8) ℤ

full_name: CartanMatrix.F₄
code: /-- The Cartan matrix of type f₄. See [bourbaki1968] plate VIII, page 288.

The corresponding Dynkin diagram is:
```
o --- o =>= o --- o
```
-/
def F₄ : Matrix (Fin 4) (Fin 4) ℤ 
goal: Matrix (Fin 4) (Fin 4) ℤ

full_name: CartanMatrix.G₂
code: /-- The Cartan matrix of type g₂. See [bourbaki1968] plate IX, page 290.

The corresponding Dynkin diagram is:
```
o ≡>≡ o
```
Actually we are using the transpose of Bourbaki's matrix. This is to make this matrix consistent
with `CartanMatrix.F₄`, in the sense that all non-zero values below the diagonal are -1. -/
def G₂ : Matrix (Fin 2) (Fin 2) ℤ 
goal: Matrix (Fin 2) (Fin 2) ℤ

full_name: LieAlgebra.e₆
code: /-- The exceptional split Lie algebra of type e₆. -/
abbrev e₆ 
goal: Type u

full_name: LieAlgebra.e₇
code: /-- The exceptional split Lie algebra of type e₇. -/
abbrev e₇ 
goal: Type u

full_name: LieAlgebra.e₈
code: /-- The exceptional split Lie algebra of type e₈. -/
abbrev e₈ 
goal: Type u

full_name: LieAlgebra.f₄
code: /-- The exceptional split Lie algebra of type f₄. -/
abbrev f₄ 
goal: Type u

full_name: LieAlgebra.g₂
code: /-- The exceptional split Lie algebra of type g₂. -/
abbrev g₂ 
goal: Type u