Divisibility in groups with zero. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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.
Given two elements b
, c
of a cancel_monoid_with_zero
and a nonzero element a
,
a*b
divides a*c
iff b
divides c
.
theorem
mul_dvd_mul_iff_right
{α : Type u_1}
[cancel_comm_monoid_with_zero α]
{a b c : α}
(hc : c ≠ 0) :
Given two elements a
, b
of a commutative cancel_monoid_with_zero
and a nonzero
element c
, a*c
divides b*c
iff a
divides b
.
dvd_not_unit a b
expresses that a
divides b
"strictly", i.e. that b
divided by a
is not a unit.
theorem
dvd_not_unit_of_dvd_of_not_dvd
{α : Type u_1}
[comm_monoid_with_zero α]
{a b : α}
(hd : a ∣ b)
(hnd : ¬b ∣ a) :
dvd_not_unit a b
theorem
ne_zero_of_dvd_ne_zero
{α : Type u_1}
[monoid_with_zero α]
{p q : α}
(h₁ : q ≠ 0)
(h₂ : p ∣ q) :
p ≠ 0
theorem
has_dvd.dvd.antisymm
{α : Type u_1}
[cancel_comm_monoid_with_zero α]
[subsingleton αˣ]
{a b : α} :
Alias of dvd_antisymm
.
theorem
has_dvd.dvd.antisymm'
{α : Type u_1}
[cancel_comm_monoid_with_zero α]
[subsingleton αˣ]
{a b : α} :
Alias of dvd_antisymm'
.
theorem
eq_of_forall_dvd
{α : Type u_1}
[cancel_comm_monoid_with_zero α]
[subsingleton αˣ]
{a b : α}
(h : ∀ (c : α), a ∣ c ↔ b ∣ c) :
a = b
theorem
eq_of_forall_dvd'
{α : Type u_1}
[cancel_comm_monoid_with_zero α]
[subsingleton αˣ]
{a b : α}
(h : ∀ (c : α), c ∣ a ↔ c ∣ b) :
a = b