Documentation

Mathlib.Algebra.Ring.CharZero

Characteristic zero rings #

Nat.cast as an embedding into monoids of characteristic 0.

Equations
    Instances For
      @[simp]
      theorem Nat.castEmbedding_apply {R : Type u_2} [AddMonoidWithOne R] [CharZero R] (a✝ : ) :
      castEmbedding a✝ = a✝
      theorem Function.support_natCast {α : Type u_1} {R : Type u_2} {n : } [AddMonoidWithOne R] [CharZero R] (hn : n 0) :
      theorem Function.mulSupport_natCast {α : Type u_1} {R : Type u_2} {n : } [AddMonoidWithOne R] [CharZero R] (hn : n 1) :
      @[simp]
      theorem add_self_eq_zero {R : Type u_2} [NonAssocSemiring R] [NoZeroDivisors R] [CharZero R] {a : R} :
      a + a = 0 a = 0
      @[simp]
      theorem Nat.cast_pow_eq_one {R : Type u_2} {n : } [Semiring R] [CharZero R] {a : } (hn : n 0) :
      a ^ n = 1 a = 1
      @[instance 100]

      A characteristic zero domain is torsion-free.

      theorem nat_mul_inj {R : Type u_2} [NonAssocRing R] [NoZeroDivisors R] [CharZero R] {n : } {a b : R} (h : n * a = n * b) :
      n = 0 a = b
      theorem nat_mul_inj' {R : Type u_2} [NonAssocRing R] [NoZeroDivisors R] [CharZero R] {n : } {a b : R} (h : n * a = n * b) (w : n 0) :
      a = b
      @[simp]
      theorem units_ne_neg_self {R : Type u_2} [Ring R] [CharZero R] (u : Rˣ) :
      u -u
      @[simp]
      theorem neg_units_ne_self {R : Type u_2} [Ring R] [CharZero R] (u : Rˣ) :
      -u u