Characteristics of algebras #
In this file we describe the characteristic of R
-algebras.
In particular we are interested in the characteristic of free algebras over R
and the fraction field fraction_ring R
.
Main results #
char_p_of_injective_algebra_map
IfR →+* A
is an injective algebra map thenA
has the same characteristic asR
.
Instances constructed from this result:
- Any
free_algebra R X
has the same characteristic asR
. - The
fraction_ring R
of an integral domainR
has the same characteristic asR
.
theorem
char_p_of_injective_algebra_map
{R : Type u_1}
{A : Type u_2}
[comm_semiring R]
[semiring A]
[algebra R A]
(h : function.injective ⇑(algebra_map R A))
(p : ℕ)
[char_p R p] :
char_p A p
If the algebra map R →+* A
is injective then A
has the same characteristic as R
.
theorem
char_p_of_injective_algebra_map'
(R : Type u_1)
(A : Type u_2)
[field R]
[semiring A]
[algebra R A]
[nontrivial A]
(p : ℕ)
[char_p R p] :
char_p A p
theorem
char_zero_of_injective_algebra_map
{R : Type u_1}
{A : Type u_2}
[comm_semiring R]
[semiring A]
[algebra R A]
(h : function.injective ⇑(algebra_map R A))
[char_zero R] :
If the algebra map R →+* A
is injective and R
has characteristic zero then so does A
.
theorem
algebra.char_p_iff
(K : Type u_1)
(L : Type u_2)
[field K]
[comm_semiring L]
[nontrivial L]
[algebra K L]
(p : ℕ) :
theorem
algebra.ring_char_eq
(K : Type u_1)
(L : Type u_2)
[field K]
[comm_semiring L]
[nontrivial L]
[algebra K L] :
@[protected, instance]
def
free_algebra.char_p
{R : Type u_1}
{X : Type u_2}
[comm_semiring R]
(p : ℕ)
[char_p R p] :
char_p (free_algebra R X) p
If R
has characteristic p
, then so does free_algebra R X
.
@[protected, instance]
def
free_algebra.char_zero
{R : Type u_1}
{X : Type u_2}
[comm_semiring R]
[char_zero R] :
char_zero (free_algebra R X)
If R
has characteristic 0
, then so does free_algebra R X
.
theorem
is_fraction_ring.char_p_of_is_fraction_ring
(R : Type u_1)
{K : Type u_2}
[comm_ring R]
[field K]
[algebra R K]
[is_fraction_ring R K]
(p : ℕ)
[char_p R p] :
char_p K p
If R
has characteristic p
, then so does Frac(R).
theorem
is_fraction_ring.char_zero_of_is_fraction_ring
(R : Type u_1)
{K : Type u_2}
[comm_ring R]
[field K]
[algebra R K]
[is_fraction_ring R K]
[char_zero R] :
If R
has characteristic 0
, then so does Frac(R).
@[protected, instance]
def
is_fraction_ring.char_p
(R : Type u_1)
[comm_ring R]
(p : ℕ)
[is_domain R]
[char_p R p] :
char_p (fraction_ring R) p
If R
has characteristic p
, then so does fraction_ring R
.
@[protected, instance]
If R
has characteristic 0
, then so does fraction_ring R
.