Divisibility in groups with zero. #
Lemmas about divisibility in groups and monoids with zero.
@[simp]
Given an element a
of a commutative semigroup with zero, there exists another element whose
product with zero equals a
iff a
equals zero.
theorem
mul_dvd_mul_iff_left
{α : Type u_1}
[CancelMonoidWithZero α]
{a : α}
{b : α}
{c : α}
(ha : a ≠ 0)
:
Given two elements b
, c
of a CancelMonoidWithZero
and a nonzero element a
,
a*b
divides a*c
iff b
divides c
.
theorem
mul_dvd_mul_iff_right
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
{c : α}
(hc : c ≠ 0)
:
Given two elements a
, b
of a commutative CancelMonoidWithZero
and a nonzero
element c
, a*c
divides b*c
iff a
divides b
.
DvdNotUnit a b
expresses that a
divides b
"strictly", i.e. that b
divided by a
is not a unit.
Instances For
theorem
dvdNotUnit_of_dvd_of_not_dvd
{α : Type u_1}
[CommMonoidWithZero α]
{a : α}
{b : α}
(hd : a ∣ b)
(hnd : ¬b ∣ a)
:
DvdNotUnit a b
theorem
isRelPrime_zero_left
{α : Type u_1}
[CommMonoidWithZero α]
{x : α}
:
IsRelPrime 0 x ↔ IsUnit x
theorem
isRelPrime_zero_right
{α : Type u_1}
[CommMonoidWithZero α]
{x : α}
:
IsRelPrime x 0 ↔ IsUnit x
theorem
not_isRelPrime_zero_zero
{α : Type u_1}
[CommMonoidWithZero α]
[Nontrivial α]
:
¬IsRelPrime 0 0
theorem
IsRelPrime.ne_zero_or_ne_zero
{α : Type u_1}
[CommMonoidWithZero α]
{x : α}
{y : α}
[Nontrivial α]
(h : IsRelPrime x y)
:
theorem
isRelPrime_of_no_nonunits_factors
{α : Type u_1}
[MonoidWithZero α]
{x : α}
{y : α}
(nonzero : ¬(x = 0 ∧ y = 0))
(H : ∀ (z : α), ¬IsUnit z → z ≠ 0 → z ∣ x → ¬z ∣ y)
:
IsRelPrime x y
theorem
ne_zero_of_dvd_ne_zero
{α : Type u_1}
[MonoidWithZero α]
{p : α}
{q : α}
(h₁ : q ≠ 0)
(h₂ : p ∣ q)
:
p ≠ 0
theorem
IsPrimal.mul
{α : Type u_2}
[CancelCommMonoidWithZero α]
{m : α}
{n : α}
(hm : IsPrimal m)
(hn : IsPrimal n)
:
theorem
dvd_antisymm
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
:
theorem
dvd_antisymm'
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
:
theorem
Dvd.dvd.antisymm
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
:
Alias of dvd_antisymm
.
theorem
Dvd.dvd.antisymm'
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
:
Alias of dvd_antisymm'
.
theorem
eq_of_forall_dvd
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
(h : ∀ (c : α), a ∣ c ↔ b ∣ c)
:
a = b
theorem
eq_of_forall_dvd'
{α : Type u_1}
[CancelCommMonoidWithZero α]
{a : α}
{b : α}
[Subsingleton αˣ]
(h : ∀ (c : α), c ∣ a ↔ c ∣ b)
:
a = b