Documentation

LeanAPAP.Mathlib.Data.ZMod.Basic

theorem ZMod.cast_int_add {n : } {x : ZMod n} {y : ZMod n} :
ZMod.cast (x + y) = (ZMod.cast x + ZMod.cast y) % n
theorem ZMod.cast_int_mul {n : } {x : ZMod n} {y : ZMod n} :
ZMod.cast (x * y) = ZMod.cast x * ZMod.cast y % n
theorem ZMod.cast_int_sub {n : } {x : ZMod n} {y : ZMod n} :
ZMod.cast (x - y) = (ZMod.cast x - ZMod.cast y) % n
theorem ZMod.cast_int_neg {n : } {x : ZMod n} :
theorem ZMod.val_one'' {n : } :
n 1ZMod.val 1 = 1
@[simp]
theorem ZMod.inv_one (n : ) :
1⁻¹ = 1
theorem ZMod.mul_val_inv {m : } {n : } (hmn : Nat.Coprime m n) :
m * (ZMod.val (m)⁻¹) = 1
theorem ZMod.val_inv_mul {m : } {n : } (hmn : Nat.Coprime m n) :
(ZMod.val (m)⁻¹) * m = 1
theorem ZMod.lift_injective {n : } {A : Type u_1} [AddCommGroup A] {f : { f : →+ A // f n = 0 }} :
Function.Injective ((ZMod.lift n) f) ∀ (i : ), f i = 0i = 0
@[simp]
theorem pow_zmod_val_inv_pow {α : Type u_1} [Group α] {n : } (hn : Nat.Coprime (Nat.card α) n) (a : α) :
(a ^ ZMod.val (n)⁻¹) ^ n = a
@[simp]
theorem pow_pow_zmod_val_inv {α : Type u_1} [Group α] {n : } (hn : Nat.Coprime (Nat.card α) n) (a : α) :
(a ^ n) ^ ZMod.val (n)⁻¹ = a
@[simp]
theorem nsmul_zmod_val_inv_nsmul {α : Type u_1} [AddGroup α] {n : } (hn : Nat.Coprime (Nat.card α) n) (a : α) :
n ZMod.val (n)⁻¹ a = a
@[simp]
theorem zmod_val_inv_nsmul_nsmul {α : Type u_1} [AddGroup α] {n : } (hn : Nat.Coprime (Nat.card α) n) (a : α) :
ZMod.val (n)⁻¹ n a = a