Documentation

Mathlib.RingTheory.FreeRing

Free rings #

The theory of the free ring over a type.

Main definitions #

Implementation details #

FreeRing α is implemented as the free abelian group over the free monoid on α.

Tags #

free ring

Equations
def FreeRing.of {α : Type u} (x : α) :

The canonical map from α to FreeRing α.

Equations
theorem FreeRing.induction_on {α : Type u} {C : FreeRing αProp} (z : FreeRing α) (hn1 : C (-1)) (hb : ∀ (b : α), C (FreeRing.of b)) (ha : ∀ (x y : FreeRing α), C xC yC (x + y)) (hm : ∀ (x y : FreeRing α), C xC yC (x * y)) :
C z
def FreeRing.lift {α : Type u} {R : Type v} [Ring R] :
(αR) (FreeRing α →+* R)

The ring homomorphism FreeRing α →+* R induced from a map α → R.

Equations
  • FreeRing.lift = FreeMonoid.lift.trans FreeAbelianGroup.liftMonoid
@[simp]
theorem FreeRing.lift_of {α : Type u} {R : Type v} [Ring R] (f : αR) (x : α) :
(FreeRing.lift f) (FreeRing.of x) = f x
@[simp]
theorem FreeRing.lift_comp_of {α : Type u} {R : Type v} [Ring R] (f : FreeRing α →+* R) :
FreeRing.lift (f FreeRing.of) = f
theorem FreeRing.hom_ext {α : Type u} {R : Type v} [Ring R] ⦃f : FreeRing α →+* R ⦃g : FreeRing α →+* R (h : ∀ (x : α), f (FreeRing.of x) = g (FreeRing.of x)) :
f = g
def FreeRing.map {α : Type u} {β : Type v} (f : αβ) :

The canonical ring homomorphism FreeRing α →+* FreeRing β generated by a map α → β.

Equations
@[simp]
theorem FreeRing.map_of {α : Type u} {β : Type v} (f : αβ) (x : α) :