File: Mathlib/Algebra/CharP/Algebra.lean

full_name: charP_of_injective_ringHom
code: /-- If a ring homomorphism `R →+* A` is injective then `A` has the same characteristic as `R`. -/
theorem charP_of_injective_ringHom {R A : Type*} [NonAssocSemiring R] [NonAssocSemiring A]
    {f : R →+* A} (h : Function.Injective f) (p : ℕ) [CharP R p] : CharP A p 
goal: CharP A p

full_name: charP_of_injective_algebraMap
code: /-- If the algebra map `R →+* A` is injective then `A` has the same characteristic as `R`. -/
theorem charP_of_injective_algebraMap {R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A]
    (h : Function.Injective (algebraMap R A)) (p : ℕ) [CharP R p] : CharP A p 
goal: CharP A p

full_name: charP_of_injective_algebraMap'
code: theorem charP_of_injective_algebraMap' (R A : Type*) [Field R] [Semiring A] [Algebra R A]
    [Nontrivial A] (p : ℕ) [CharP R p] : CharP A p 
goal: CharP A p

full_name: charZero_of_injective_ringHom
code: /-- If a ring homomorphism `R →+* A` is injective and `R` has characteristic zero
then so does `A`. -/
theorem charZero_of_injective_ringHom {R A : Type*} [NonAssocSemiring R] [NonAssocSemiring A]
    {f : R →+* A} (h : Function.Injective f) [CharZero R] : CharZero A 
goal: CharZero A

full_name: charZero_of_injective_algebraMap
code: /-- If the algebra map `R →+* A` is injective and `R` has characteristic zero then so does `A`. -/
theorem charZero_of_injective_algebraMap {R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A]
    (h : Function.Injective (algebraMap R A)) [CharZero R] : CharZero A 
goal: CharZero A

full_name: RingHom.charP
code: /-- If `R →+* A` is injective, and `A` is of characteristic `p`, then `R` is also of
characteristic `p`. Similar to `RingHom.charZero`. -/
theorem RingHom.charP {R A : Type*} [NonAssocSemiring R] [NonAssocSemiring A] (f : R →+* A)
    (H : Function.Injective f) (p : ℕ) [CharP A p] : CharP R p 
goal: CharP R p

full_name: RingHom.charP_iff
code: /-- If `R →+* A` is injective, then `R` is of characteristic `p` if and only if `A` is also of
characteristic `p`. Similar to `RingHom.charZero_iff`. -/
theorem RingHom.charP_iff {R A : Type*} [NonAssocSemiring R] [NonAssocSemiring A] (f : R →+* A)
    (H : Function.Injective f) (p : ℕ) : CharP R p ↔ CharP A p 
goal: CharP R p ↔ CharP A p

full_name: algebraRat.charP_zero
code: /-- A nontrivial `ℚ`-algebra has `CharP` equal to zero.

This cannot be a (local) instance because it would immediately form a loop with the
instance `algebraRat`. It's probably easier to go the other way: prove `CharZero R` and
automatically receive an `Algebra ℚ R` instance.
-/
theorem algebraRat.charP_zero [Semiring R] [Algebra ℚ R] : CharP R 0 
goal: CharP R 0

full_name: algebraRat.charZero
code: /-- A nontrivial `ℚ`-algebra has characteristic zero.

This cannot be a (local) instance because it would immediately form a loop with the
instance `algebraRat`. It's probably easier to go the other way: prove `CharZero R` and
automatically receive an `Algebra ℚ R` instance.
-/
theorem algebraRat.charZero [Ring R] [Algebra ℚ R] : CharZero R 
goal: CharZero R

full_name: Algebra.charP_iff
code: theorem Algebra.charP_iff (p : ℕ) : CharP K p ↔ CharP L p 
goal: CharP K p ↔ CharP L p

full_name: Algebra.ringChar_eq
code: theorem Algebra.ringChar_eq : ringChar K = ringChar L 
goal: ringChar K = ringChar L

full_name: FreeAlgebra.charP
code: /-- If `R` has characteristic `p`, then so does `FreeAlgebra R X`. -/
instance charP [CharP R p] : CharP (FreeAlgebra R X) p 
goal: CharP (FreeAlgebra R X) p

full_name: FreeAlgebra.charZero
code: /-- If `R` has characteristic `0`, then so does `FreeAlgebra R X`. -/
instance charZero [CharZero R] : CharZero (FreeAlgebra R X) 
goal: CharZero (FreeAlgebra R X)

full_name: IsFractionRing.charP_of_isFractionRing
code: /-- If `R` has characteristic `p`, then so does Frac(R). -/
theorem charP_of_isFractionRing [CharP R p] : CharP K p 
goal: CharP K p

full_name: IsFractionRing.charZero_of_isFractionRing
code: /-- If `R` has characteristic `0`, then so does Frac(R). -/
theorem charZero_of_isFractionRing [CharZero R] : CharZero K 
goal: CharZero K

full_name: IsFractionRing.charP
code: /-- If `R` has characteristic `p`, then so does `FractionRing R`. -/
instance charP [CharP R p] : CharP (FractionRing R) p 
goal: CharP (FractionRing R) p

full_name: IsFractionRing.charZero
code: /-- If `R` has characteristic `0`, then so does `FractionRing R`. -/
instance charZero [CharZero R] : CharZero (FractionRing R) 
goal: CharZero (FractionRing R)