Structures · Algebra
CharP
The generator of the kernel of the unique homomorphism ℕ → R for a semiring R.
Warning: for a semiring R, CharP R 0 and CharZero R need not coincide.
* CharP R 0 asks that only 0 : ℕ maps to 0 : R under the map ℕ → R;
* CharZero R requires an injection ℕ ↪ R.
For instance, endowing {0, 1} with addition given by max (i.e. 1 is absorbing), shows that
CharZero {0, 1} does not hold and yet CharP {0, 1} 0 does.
This example is formalized in Counterexamples/CharPZeroNeCharZero.lean.
- Defined in
- Mathlib.Algebra.CharP.Defs
- Shape
- 2 explicit arguments · adds cast_eq_zero_iff
Extends0
Extends nothing: this is a root of the hierarchy.
Extended by0
Nothing extends this class yet.
Concrete types that are instances21
- ZMod
- Polynomial
- RatFunc
- FractionRing
- Matrix
- Polynomial.SplittingField
- GaloisField
- AlgebraicClosure
- PerfectClosure
- LucasLehmer.X
- Perfection
- PreTilt
- FreeAlgebra
- MvPolynomial
- ModP
- Subtype
- Prod
- ULift
- MulOpposite
- Fin
- LinearMap
How is a type an instance?
Loading the hierarchy index…
Assumed by516
- CharP.cast_eq_zero
- ZMod.castHom
- Perfection.coeff
- CharP.cast_eq_zero_iff
- PerfectClosure
- CharP.char_is_prime_or_zero
- FiniteField.Extension
- Perfection.teichmuller₀
- CharP.charP_to_charZero
- WittVector.FractionRing.frobeniusRingHom
- Perfection.teichmuller
- FiniteField.card
- WittVector.Isocrystal.frobenius
- WittVector.FractionRing.frobenius
- WittVector.frobeniusEquiv
- WittVector.coeff_frobenius_charP
- Perfection.lift
- PerfectionMap.equiv
- CharP.intCast_eq_zero_iff
- ringChar.eq
- CharP.char_ne_one
- ZMod.algebra
- Perfection.pthRoot
- WittVector.RecursionMain.succNthDefiningPoly
- Perfection.mk_teichmuller
- charP_of_injective_ringHom
- CharTwo.add_self_eq_zero
- CharP.natCast_injOn_Iio
- WittVector.RecursionMain.succNthVal
- WeierstrassCurve.toShortNFOfCharThree
- WittVector.frobeniusRotation
- ZMod.cast_natCast
- WittVector.nthRemainder
- FiniteField.Extension.frob
- WittVector.verschiebung_frobenius
- PerfectionMap.lift
- Perfection.teichmullerFun
- Perfection.teichmullerAux
- ZMod.cast_intCast
- CharP.char_is_prime
- CharTwo.neg_eq
- FiniteField.algEquivExtension
- CharP.char_ne_zero_of_finite
- Polynomial.separable_or
- WittVector.frobeniusRotationCoeff
- PerfectClosure.mk_eq_iff
- PerfectionMap.map
- WeierstrassCurve.toShortNFOfCharThree_a₂
- WeierstrassCurve.b₂_of_isCharTwoJNeZeroNF_of_char_two
- Perfection.teichmullerFun_sModEq
Ancestors0
No ancestors.