File: Mathlib/Algebra/Lie/UniversalEnveloping.lean

full_name: _aux_Mathlib_Algebra_Lie_UniversalEnveloping___macroRules_termιₜ_1
code: local notation "ιₜ" => TensorAlgebra.ι R
goal: Lean.Macro

full_name: _aux_Mathlib_Algebra_Lie_UniversalEnveloping___unexpand_TensorAlgebra_ι_1
code: local notation "ιₜ" => TensorAlgebra.ι R
goal: Lean.PrettyPrinter.Unexpander

full_name: UniversalEnvelopingAlgebra.Rel.lie_compat
code: /-- The quotient by the ideal generated by this relation is the universal enveloping algebra.

Note that we have avoided using the more natural expression:
| lie_compat (x y : L) : rel (ιₜ ⁅x, y⁆) ⁅ιₜ x, ιₜ y⁆
so that our construction needs only the semiring structure of the tensor algebra. -/
inductive Rel : TensorAlgebra R L → TensorAlgebra R L → Prop
  | lie_compat (x y : L) : Rel (ιₜ ⁅x, y⁆ + ιₜ y * ιₜ x) (ιₜ x * ιₜ y)
goal: UniversalEnvelopingAlgebra.Rel R L (ιₜ ⁅x, y⁆ + ιₜ y * ιₜ x) (ιₜ x * ιₜ y)

full_name: UniversalEnvelopingAlgebra.Rel
code: /-- The quotient by the ideal generated by this relation is the universal enveloping algebra.

Note that we have avoided using the more natural expression:
| lie_compat (x y : L) : rel (ιₜ ⁅x, y⁆) ⁅ιₜ x, ιₜ y⁆
so that our construction needs only the semiring structure of the tensor algebra. -/
inductive Rel : TensorAlgebra R L → TensorAlgebra R L → Prop
  | lie_compat (x y : L) : Rel (ιₜ ⁅x, y⁆ + ιₜ y * ιₜ x) (ιₜ x * ιₜ y)
goal: TensorAlgebra R L → TensorAlgebra R L → Prop

full_name: UniversalEnvelopingAlgebra
code: /-- The universal enveloping algebra of a Lie algebra. -/
def UniversalEnvelopingAlgebra 
goal: Type (max u₁ u₂)

full_name: UniversalEnvelopingAlgebra.instInhabited
code: instance instInhabited : Inhabited (UniversalEnvelopingAlgebra R L) 
goal: Inhabited (UniversalEnvelopingAlgebra R L)

full_name: UniversalEnvelopingAlgebra.instRing
code: instance instRing : Ring (UniversalEnvelopingAlgebra R L) 
goal: Ring (UniversalEnvelopingAlgebra R L)

full_name: UniversalEnvelopingAlgebra.instAlgebra
code: instance instAlgebra : Algebra R (UniversalEnvelopingAlgebra R L) 
goal: Algebra R (UniversalEnvelopingAlgebra R L)

full_name: UniversalEnvelopingAlgebra.mkAlgHom
code: /-- The quotient map from the tensor algebra to the universal enveloping algebra as a morphism of
associative algebras. -/
def mkAlgHom : TensorAlgebra R L →ₐ[R] UniversalEnvelopingAlgebra R L 
goal: TensorAlgebra R L →ₐ[R] UniversalEnvelopingAlgebra R L

full_name: UniversalEnvelopingAlgebra.ι
code: /-- The natural Lie algebra morphism from a Lie algebra to its universal enveloping algebra. -/
@[simps!] -- Porting note (#11445): added
def ι : L →ₗ⁅R⁆ UniversalEnvelopingAlgebra R L 
goal: L →ₗ⁅R⁆ UniversalEnvelopingAlgebra R L

full_name: UniversalEnvelopingAlgebra.ι_apply
code: /-- The natural Lie algebra morphism from a Lie algebra to its universal enveloping algebra. -/
@[simps!] -- Porting note (#11445): added
def ι : L →ₗ⁅R⁆ UniversalEnvelopingAlgebra R L 
goal: ∀ (a : L), (UniversalEnvelopingAlgebra.ι R) a = (UniversalEnvelopingAlgebra.mkAlgHom R L) (ιₜ a)

full_name: UniversalEnvelopingAlgebra.lift
code: /-- The universal property of the universal enveloping algebra: Lie algebra morphisms into
associative algebras lift to associative algebra morphisms from the universal enveloping algebra. -/
def lift : (L →ₗ⁅R⁆ A) ≃ (UniversalEnvelopingAlgebra R L →ₐ[R] A) 
goal: (L →ₗ⁅R⁆ A) ≃ (UniversalEnvelopingAlgebra R L →ₐ[R] A)

full_name: UniversalEnvelopingAlgebra.lift_symm_apply
code: @[simp]
theorem lift_symm_apply (F : UniversalEnvelopingAlgebra R L →ₐ[R] A) :
    (lift R).symm F = (F : UniversalEnvelopingAlgebra R L →ₗ⁅R⁆ A).comp (ι R) 
goal: (UniversalEnvelopingAlgebra.lift R).symm F = F.toLieHom.comp (UniversalEnvelopingAlgebra.ι R)

full_name: UniversalEnvelopingAlgebra.ι_comp_lift
code: @[simp]
theorem ι_comp_lift : lift R f ∘ ι R = f 
goal: ⇑((UniversalEnvelopingAlgebra.lift R) f) ∘ ⇑(UniversalEnvelopingAlgebra.ι R) = ⇑f

full_name: UniversalEnvelopingAlgebra.lift_ι_apply
code: theorem lift_ι_apply (x : L) : lift R f (ι R x) = f x 
goal: ((UniversalEnvelopingAlgebra.lift R) f) ((UniversalEnvelopingAlgebra.ι R) x) = f x

full_name: UniversalEnvelopingAlgebra.lift_ι_apply'
code: @[simp]
theorem lift_ι_apply' (x : L) :
    lift R f ((UniversalEnvelopingAlgebra.mkAlgHom R L) (ιₜ x)) = f x 
goal: ((UniversalEnvelopingAlgebra.lift R) f) ((UniversalEnvelopingAlgebra.mkAlgHom R L) (ιₜ x)) = f x

full_name: UniversalEnvelopingAlgebra.lift_unique
code: theorem lift_unique (g : UniversalEnvelopingAlgebra R L →ₐ[R] A) : g ∘ ι R = f ↔ g = lift R f 
goal: ⇑g ∘ ⇑(UniversalEnvelopingAlgebra.ι R) = ⇑f ↔ g = (UniversalEnvelopingAlgebra.lift R) f

full_name: UniversalEnvelopingAlgebra.hom_ext
code: /-- See note [partially-applied ext lemmas]. -/
@[ext]
theorem hom_ext {g₁ g₂ : UniversalEnvelopingAlgebra R L →ₐ[R] A}
    (h :
      (g₁ : UniversalEnvelopingAlgebra R L →ₗ⁅R⁆ A).comp (ι R) =
        (g₂ : UniversalEnvelopingAlgebra R L →ₗ⁅R⁆ A).comp (ι R)) :
    g₁ = g₂ 
goal: g₁ = g₂