Free rings
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
@[instance]
Equations
@[instance]
Equations
- free_ring.inhabited α = {default := 0}
The canonical map from α to free_ring α
.
Equations
theorem
free_ring.induction_on
{α : Type u}
{C : free_ring α → Prop}
(z : free_ring α)
(hn1 : C (-1))
(hb : ∀ (b : α), C (free_ring.of b))
(ha : ∀ (x y : free_ring α), C x → C y → C (x + y))
(hm : ∀ (x y : free_ring α), C x → C y → C (x * y)) :
C z
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
@[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)