Module docstring
{"# Cast of natural numbers: lemmas about Commute
"}
{"# Cast of natural numbers: lemmas about Commute
"}
Nat.cast_commute
theorem
(n : ℕ) (x : α) : Commute (n : α) x
theorem cast_commute (n : ℕ) (x : α) : Commute (n : α) x := by
induction n with
| zero => rw [Nat.cast_zero]; exact Commute.zero_left x
| succ n ihn => rw [Nat.cast_succ]; exact ihn.add_left (Commute.one_left x)
Commute.ofNat_left
theorem
(n : ℕ) [n.AtLeastTwo] (x : α) : Commute (OfNat.ofNat n) x
theorem _root_.Commute.ofNat_left (n : ℕ) [n.AtLeastTwo] (x : α) : Commute (OfNat.ofNat n) x :=
n.cast_commute x
Nat.cast_comm
theorem
(n : ℕ) (x : α) : (n : α) * x = x * n
theorem cast_comm (n : ℕ) (x : α) : (n : α) * x = x * n :=
(cast_commute n x).eq
Nat.commute_cast
theorem
(x : α) (n : ℕ) : Commute x n
theorem commute_cast (x : α) (n : ℕ) : Commute x n :=
(n.cast_commute x).symm
Commute.ofNat_right
theorem
(x : α) (n : ℕ) [n.AtLeastTwo] : Commute x (OfNat.ofNat n)
theorem _root_.Commute.ofNat_right (x : α) (n : ℕ) [n.AtLeastTwo] : Commute x (OfNat.ofNat n) :=
n.commute_cast x
SemiconjBy.natCast_mul_right
theorem
(h : SemiconjBy a x y) (n : ℕ) : SemiconjBy a (n * x) (n * y)
@[simp]
lemma natCast_mul_right (h : SemiconjBy a x y) (n : ℕ) : SemiconjBy a (n * x) (n * y) :=
SemiconjBy.mul_right (Nat.commute_cast _ _) h
SemiconjBy.natCast_mul_left
theorem
(h : SemiconjBy a x y) (n : ℕ) : SemiconjBy (n * a) x y
@[simp]
lemma natCast_mul_left (h : SemiconjBy a x y) (n : ℕ) : SemiconjBy (n * a) x y :=
SemiconjBy.mul_left (Nat.cast_commute _ _) h
SemiconjBy.natCast_mul_natCast_mul
theorem
(h : SemiconjBy a x y) (m n : ℕ) : SemiconjBy (m * a) (n * x) (n * y)
@[simp]
lemma natCast_mul_natCast_mul (h : SemiconjBy a x y) (m n : ℕ) :
SemiconjBy (m * a) (n * x) (n * y) :=
(h.natCast_mul_left m).natCast_mul_right n
Commute.natCast_mul_right
theorem
(h : Commute a b) (n : ℕ) : Commute a (n * b)
@[simp] lemma natCast_mul_right (h : Commute a b) (n : ℕ) : Commute a (n * b) :=
SemiconjBy.natCast_mul_right h n
Commute.natCast_mul_left
theorem
(h : Commute a b) (n : ℕ) : Commute (n * a) b
@[simp] lemma natCast_mul_left (h : Commute a b) (n : ℕ) : Commute (n * a) b :=
SemiconjBy.natCast_mul_left h n
Commute.natCast_mul_natCast_mul
theorem
(h : Commute a b) (m n : ℕ) : Commute (m * a) (n * b)
@[simp] lemma natCast_mul_natCast_mul (h : Commute a b) (m n : ℕ) : Commute (m * a) (n * b) :=
SemiconjBy.natCast_mul_natCast_mul h m n
Commute.self_natCast_mul
theorem
: Commute a (n * a)
lemma self_natCast_mul : Commute a (n * a) := (Commute.refl a).natCast_mul_right n
Commute.natCast_mul_self
theorem
: Commute (n * a) a
lemma natCast_mul_self : Commute (n * a) a := (Commute.refl a).natCast_mul_left n
Commute.self_natCast_mul_natCast_mul
theorem
: Commute (m * a) (n * a)
lemma self_natCast_mul_natCast_mul : Commute (m * a) (n * a) :=
(Commute.refl a).natCast_mul_natCast_mul m n