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.
Equations
- AddUnits.leftOfAdd u a b hu hc = { val := a, neg := b + ↑(-u), val_neg := ⋯, neg_val := ⋯ }
Instances For
def
Units.leftOfMul
{M : Type u_1}
[Monoid M]
(u : Mˣ)
(a : M)
(b : M)
(hu : a * b = ↑u)
(hc : Commute a b)
:
Mˣ
If the product of two commuting elements is a unit, then the left multiplier is a unit.
Equations
- Units.leftOfMul u a b hu hc = { val := a, inv := b * ↑u⁻¹, val_inv := ⋯, inv_val := ⋯ }
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
- AddUnits.rightOfAdd u a b hu hc = AddUnits.leftOfAdd u 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)
:
def
Units.rightOfMul
{M : Type u_1}
[Monoid M]
(u : Mˣ)
(a : M)
(b : M)
(hu : a * b = ↑u)
(hc : Commute a b)
:
Mˣ
If the product of two commuting elements is a unit, then the right multiplier is a unit.
Equations
- Units.rightOfMul u a b hu hc = Units.leftOfMul u b a ⋯ ⋯
Instances For
@[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.ofNSMul
{M : Type u_1}
[AddMonoid M]
(u : AddUnits M)
(x : M)
{n : ℕ}
(hn : n ≠ 0)
(hu : n • x = ↑u)
:
AddUnits M
If a natural multiple of x
is an additive unit, then x
is an additive unit.
Equations
- AddUnits.ofNSMul u x hn hu = AddUnits.leftOfAdd u x ((n - 1) • x) ⋯ ⋯
Instances For
def
Units.ofPow
{M : Type u_1}
[Monoid M]
(u : Mˣ)
(x : M)
{n : ℕ}
(hn : n ≠ 0)
(hu : x ^ n = ↑u)
:
Mˣ
If a natural power of x
is a unit, then x
is a unit.
Equations
- Units.ofPow u x hn hu = Units.leftOfMul u x (x ^ (n - 1)) ⋯ ⋯
Instances For
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)
: