Characteristic zero (additional theorems) #
A ring R
is called of characteristic zero if every natural number n
is non-zero when considered
as an element of R
. Since this definition doesn't mention the multiplicative structure of R
except for the existence of 1
in this file characteristic zero is defined for additive monoids
with 1
.
Main statements #
- Characteristic zero implies that the additive monoid is infinite.
@[simp]
theorem
Nat.castEmbedding_apply
{R : Type u_1}
[AddMonoidWithOne R]
[CharZero R]
(a✝ : ℕ)
:
Nat.castEmbedding a✝ = ↑a✝
@[simp]
theorem
Nat.cast_div_charZero
{k : Type u_2}
[DivisionSemiring k]
[CharZero k]
{m n : ℕ}
(n_dvd : n ∣ m)
:
theorem
Function.support_natCast
{α : Type u_1}
{M : Type u_2}
[AddMonoidWithOne M]
[CharZero M]
{n : ℕ}
(hn : n ≠ 0)
:
Function.support ↑n = Set.univ
@[deprecated Function.support_natCast]
theorem
Function.support_nat_cast
{α : Type u_1}
{M : Type u_2}
[AddMonoidWithOne M]
[CharZero M]
{n : ℕ}
(hn : n ≠ 0)
:
Function.support ↑n = Set.univ
Alias of Function.support_natCast
.
theorem
Function.mulSupport_natCast
{α : Type u_1}
{M : Type u_2}
[AddMonoidWithOne M]
[CharZero M]
{n : ℕ}
(hn : n ≠ 1)
:
Function.mulSupport ↑n = Set.univ
@[deprecated Function.mulSupport_natCast]
theorem
Function.mulSupport_nat_cast
{α : Type u_1}
{M : Type u_2}
[AddMonoidWithOne M]
[CharZero M]
{n : ℕ}
(hn : n ≠ 1)
:
Function.mulSupport ↑n = Set.univ
Alias of Function.mulSupport_natCast
.
@[simp]
theorem
add_self_eq_zero
{R : Type u_1}
[NonAssocSemiring R]
[NoZeroDivisors R]
[CharZero R]
{a : R}
:
theorem
CharZero.neg_eq_self_iff
{R : Type u_1}
[NonAssocRing R]
[NoZeroDivisors R]
[CharZero R]
{a : R}
:
theorem
CharZero.eq_neg_self_iff
{R : Type u_1}
[NonAssocRing R]
[NoZeroDivisors R]
[CharZero R]
{a : R}
:
theorem
nat_mul_inj
{R : Type u_1}
[NonAssocRing R]
[NoZeroDivisors R]
[CharZero R]
{n : ℕ}
{a b : R}
(h : ↑n * a = ↑n * b)
:
theorem
nat_mul_inj'
{R : Type u_1}
[NonAssocRing R]
[NoZeroDivisors R]
[CharZero R]
{n : ℕ}
{a b : R}
(h : ↑n * a = ↑n * b)
(w : n ≠ 0)
:
a = b
@[simp]
@[deprecated add_self_div_two]
Alias of add_self_div_two
.
@[simp]
@[deprecated add_halves]
Alias of add_halves
.
theorem
RingHom.charZero
{R : Type u_1}
{S : Type u_2}
[NonAssocSemiring R]
[NonAssocSemiring S]
(ϕ : R →+* S)
[CharZero S]
:
CharZero R
theorem
RingHom.charZero_iff
{R : Type u_1}
{S : Type u_2}
[NonAssocSemiring R]
[NonAssocSemiring S]
{ϕ : R →+* S}
(hϕ : Function.Injective ⇑ϕ)
: