Free rings #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The theory of the free ring over a type.
Main definitions #
free_ring α
: the free (not commutative in general) ring over a type.lift (f : α → R)
: the ring homfree_ring α →+* R
induced byf
.map (f : α → β)
: the ring homfree_ring α →+* free_ring β
induced byf
.
Implementation details #
free_ring α
is implemented as the free abelian group over the free monoid on α
.
Tags #
free ring
The free ring over a type α
.
Equations
Instances for free_ring
The canonical map from α to free_ring α
.
Equations
The ring homomorphism free_ring α →+* R
induced from a map α → R
.
@[simp]
theorem
free_ring.lift_of
{α : Type u}
{R : Type v}
[ring R]
(f : α → R)
(x : α) :
⇑(⇑free_ring.lift f) (free_ring.of x) = f x
@[simp]
theorem
free_ring.lift_comp_of
{α : Type u}
{R : Type v}
[ring R]
(f : free_ring α →+* R) :
⇑free_ring.lift (⇑f ∘ free_ring.of) = f
@[ext]
theorem
free_ring.hom_ext
{α : Type u}
{R : Type v}
[ring R]
⦃f g : free_ring α →+* R⦄
(h : ∀ (x : α), ⇑f (free_ring.of x) = ⇑g (free_ring.of x)) :
f = g
@[simp]
theorem
free_ring.map_of
{α : Type u}
{β : Type v}
(f : α → β)
(x : α) :
⇑(free_ring.map f) (free_ring.of x) = free_ring.of (f x)