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_mapIfR →+* Ais an injective algebra map thenAhas the same characteristic asR.
Instances constructed from this result:
- Any
free_algebra R Xhas the same characteristic asR. - The
fraction_ring Rof an integral domainRhas 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.