Lemmas about commuting pairs of elements involving units. #
theorem
AddCommute.addUnits_neg_right
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
:
AddCommute a ↑u → AddCommute a ↑(-u)
@[simp]
theorem
AddCommute.addUnits_neg_right_iff
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
:
AddCommute a ↑(-u) ↔ AddCommute a ↑u
theorem
AddCommute.addUnits_neg_left
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
:
AddCommute (↑u) a → AddCommute (↑(-u)) a
@[simp]
theorem
AddCommute.addUnits_neg_left_iff
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
:
AddCommute (↑(-u)) a ↔ AddCommute (↑u) a
theorem
AddCommute.addUnits_val
{M : Type u_1}
[AddMonoid M]
{u₁ : AddUnits M}
{u₂ : AddUnits M}
:
AddCommute u₁ u₂ → AddCommute ↑u₁ ↑u₂
theorem
AddCommute.addUnits_of_val
{M : Type u_1}
[AddMonoid M]
{u₁ : AddUnits M}
{u₂ : AddUnits M}
:
AddCommute ↑u₁ ↑u₂ → AddCommute u₁ u₂
@[simp]
theorem
AddCommute.addUnits_val_iff
{M : Type u_1}
[AddMonoid M]
{u₁ : AddUnits M}
{u₂ : AddUnits M}
:
AddCommute ↑u₁ ↑u₂ ↔ AddCommute u₁ u₂
def
AddUnits.leftOfAdd
{M : Type u_1}
[AddMonoid M]
(u : AddUnits M)
(a : M)
(b : M)
(hu : a + b = ↑u)
(hc : AddCommute a b)
:
AddUnits M
If the sum of two commuting elements is an additive unit, then the left summand is an additive unit.
Instances For
def
AddUnits.rightOfAdd
{M : Type u_1}
[AddMonoid M]
(u : AddUnits M)
(a : M)
(b : M)
(hu : a + b = ↑u)
(hc : AddCommute a b)
:
AddUnits M
If the sum of two commuting elements is an additive unit, then the right summand is an additive unit.
Equations
- u.rightOfAdd a b hu hc = u.leftOfAdd b a ⋯ ⋯
Instances For
theorem
AddUnits.rightOfAdd.proof_2
{M : Type u_1}
[AddMonoid M]
(a : M)
(b : M)
(hc : AddCommute a b)
:
AddCommute b a
theorem
AddUnits.rightOfAdd.proof_1
{M : Type u_1}
[AddMonoid M]
(u : AddUnits M)
(a : M)
(b : M)
(hu : a + b = ↑u)
(hc : AddCommute a b)
:
@[simp]
theorem
AddCommute.addUnits_zsmul_right
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
(h : AddCommute a ↑u)
(m : ℤ)
:
AddCommute a ↑(m • u)
@[simp]
theorem
AddCommute.addUnits_zsmul_left
{M : Type u_1}
[AddMonoid M]
{a : M}
{u : AddUnits M}
(h : AddCommute (↑u) a)
(m : ℤ)
:
AddCommute (↑(m • u)) a
theorem
AddUnits.ofNSMul.proof_2
{M : Type u_1}
[AddMonoid M]
(x : M)
{n : ℕ}
:
AddCommute x ((n - 1) • x)
def
AddUnits.ofNSMulEqZero
{M : Type u_1}
[AddMonoid M]
(a : M)
(n : ℕ)
(ha : n • a = 0)
(hn : n ≠ 0)
:
AddUnits M
If n • x = 0
, n ≠ 0
, then x
is an additive unit.
Equations
- AddUnits.ofNSMulEqZero a n ha hn = AddUnits.ofNSMul 0 a hn ha
Instances For
@[simp]
theorem
Units.val_ofPowEqOne
{M : Type u_1}
[Monoid M]
(a : M)
(n : ℕ)
(ha : a ^ n = 1)
(hn : n ≠ 0)
:
↑(Units.ofPowEqOne a n ha hn) = a
@[simp]
theorem
AddUnits.val_ofNSMulEqZero
{M : Type u_1}
[AddMonoid M]
(a : M)
(n : ℕ)
(ha : n • a = 0)
(hn : n ≠ 0)
:
↑(AddUnits.ofNSMulEqZero a n ha hn) = a
If a ^ n = 1
, n ≠ 0
, then a
is a unit.
Equations
- Units.ofPowEqOne a n ha hn = Units.ofPow 1 a hn ha
Instances For
theorem
AddCommute.sub_eq_sub_iff_of_isAddUnit
{M : Type u_1}
[SubtractionMonoid M]
{a : M}
{b : M}
{c : M}
{d : M}
(hbd : AddCommute b d)
(hb : IsAddUnit b)
(hd : IsAddUnit d)
: