Exponential characteristic #
This file defines the exponential characteristic, which is defined to be 1 for a ring with characteristic 0 and the same as the ordinary characteristic, if the ordinary characteristic is prime. This concept is useful to simplify some theorem statements. This file establishes a few basic results relating it to the (ordinary characteristic). The definition is stated for a semiring, but the actual results are for nontrivial rings (as far as exponential characteristic one is concerned), respectively a ring without zero-divisors (for prime characteristic).
Main results #
ExpChar
: the definition of exponential characteristicexpChar_is_prime_or_one
: the exponential characteristic is a prime or onechar_eq_expChar_iff
: the characteristic equals the exponential characteristic iff the characteristic is prime
Tags #
exponential characteristic, characteristic
Noncomputable function that outputs the unique exponential characteristic of a semiring.
Equations
- ringExpChar R = max (ringChar R) 1
Instances For
The exponential characteristic is one if the characteristic is zero.
The characteristic is zero if the exponential characteristic is one.
A helper lemma: the characteristic is prime if it is non-zero.
The exponential characteristic is a prime number or one.
See also CharP.char_is_prime_or_zero
.
Equations
- ⋯ = ⋯
If R →+* A
is injective, and A
is of exponential characteristic p
, then R
is also of
exponential characteristic p
. Similar to RingHom.charZero
.
If R →+* A
is injective, then R
is of exponential characteristic p
if and only if A
is
also of exponential characteristic p
. Similar to RingHom.charZero_iff
.
If the algebra map R →+* A
is injective then A
has the same exponential characteristic
as R
.
The frobenius map that sends x to x^p
Equations
- frobenius R p = let __spread.0 := powMonoidHom p; { toMonoidHom := __spread.0, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The iterated frobenius map sending x to x^p^n
Equations
- iterateFrobenius R p n = let __spread.0 := powMonoidHom (p ^ n); { toMonoidHom := __spread.0, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The frobenius map of an algebra as a frobenius-semilinear map.
Equations
- LinearMap.frobenius R S p = let __spread.0 := frobenius S p; { toFun := (↑↑__spread.0).toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The iterated frobenius map of an algebra as a iterated-frobenius-semilinear map.
Equations
- LinearMap.iterateFrobenius R S p n = let __spread.0 := iterateFrobenius S p n; { toFun := (↑↑__spread.0).toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Alias of frobenius_natCast
.