Free rings #
The theory of the free ring over a type.
Main definitions #
FreeRing α
: the free (not commutative in general) ring over a type.lift (f : α → R)
: the ring homFreeRing α →+* R
induced byf
.map (f : α → β)
: the ring homFreeRing α →+* FreeRing β
induced byf
.
Implementation details #
FreeRing α
is implemented as the free abelian group over the free monoid on α
.
Tags #
free ring
Equations
Equations
- instInhabitedFreeRing α = id inferInstance
@[simp]
theorem
FreeRing.lift_of
{α : Type u}
{R : Type v}
[Ring R]
(f : α → R)
(x : α)
:
(FreeRing.lift f) (FreeRing.of x) = f x
theorem
FreeRing.hom_ext_iff
{α : Type u}
{R : Type v}
[Ring R]
{f : FreeRing α →+* R}
{g : FreeRing α →+* R}
:
f = g ↔ ∀ (x : α), f (FreeRing.of x) = g (FreeRing.of x)
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
@[simp]
theorem
FreeRing.map_of
{α : Type u}
{β : Type v}
(f : α → β)
(x : α)
:
(FreeRing.map f) (FreeRing.of x) = FreeRing.of (f x)