Documentation

Mathlib.Algebra.Divisibility.Units

Divisibility and units #

Main definition #

theorem Units.coe_dvd {α : Type u_1} [Monoid α] {a : α} {u : αˣ} :
↑u ∣ a

Elements of the unit group of a monoid represented as elements of the monoid divide any element of the monoid.

theorem Units.dvd_mul_right {α : Type u_1} [Monoid α] {a b : α} {u : αˣ} :
a ∣ b * ↑u ↔ a ∣ b

In a monoid, an element a divides an element b iff a divides all associates of b.

theorem Units.mul_right_dvd {α : Type u_1} [Monoid α] {a b : α} {u : αˣ} :
a * ↑u ∣ b ↔ a ∣ b

In a monoid, an element a divides an element b iff all associates of a divide b.

theorem Units.dvd_mul_left {α : Type u_1} [CommMonoid α] {a b : α} {u : αˣ} :
a ∣ ↑u * b ↔ a ∣ b

In a commutative monoid, an element a divides an element b iff a divides all left associates of b.

theorem Units.mul_left_dvd {α : Type u_1} [CommMonoid α] {a b : α} {u : αˣ} :
↑u * a ∣ b ↔ a ∣ b

In a commutative monoid, an element a divides an element b iff all left associates of a divide b.

@[simp]
theorem IsUnit.dvd {α : Type u_1} [Monoid α] {a u : α} (hu : IsUnit u) :
u ∣ a

Units of a monoid divide any element of the monoid.

@[simp]
theorem IsUnit.dvd_mul_right {α : Type u_1} [Monoid α] {a b u : α} (hu : IsUnit u) :
a ∣ b * u ↔ a ∣ b
@[simp]
theorem IsUnit.mul_right_dvd {α : Type u_1} [Monoid α] {a b u : α} (hu : IsUnit u) :
a * u ∣ b ↔ a ∣ b

In a monoid, an element a divides an element b iff all associates of a divide b.

theorem IsUnit.isPrimal {α : Type u_1} [Monoid α] {u : α} (hu : IsUnit u) :
@[simp]
theorem IsUnit.dvd_mul_left {α : Type u_1} [CommMonoid α] {a b u : α} (hu : IsUnit u) :
a ∣ u * b ↔ a ∣ b

In a commutative monoid, an element a divides an element b iff a divides all left associates of b.

@[simp]
theorem IsUnit.mul_left_dvd {α : Type u_1} [CommMonoid α] {a b u : α} (hu : IsUnit u) :
u * a ∣ b ↔ a ∣ b

In a commutative monoid, an element a divides an element b iff all left associates of a divide b.

theorem isUnit_iff_dvd_one {α : Type u_1} [CommMonoid α] {x : α} :
IsUnit x ↔ x ∣ 1
theorem isUnit_iff_forall_dvd {α : Type u_1} [CommMonoid α] {x : α} :
IsUnit x ↔ ∀ (y : α), x ∣ y
theorem isUnit_of_dvd_unit {α : Type u_1} [CommMonoid α] {x y : α} (xy : x ∣ y) (hu : IsUnit y) :
theorem isUnit_of_dvd_one {α : Type u_1} [CommMonoid α] {a : α} (h : a ∣ 1) :
theorem not_isUnit_of_not_isUnit_dvd {α : Type u_1} [CommMonoid α] {a b : α} (ha : ¬IsUnit a) (hb : a ∣ b) :
@[simp]
theorem dvd_pow_self_iff {α : Type u_1} [CommMonoid α] {x : α} {n : ℕ} :
x ∣ x ^ n ↔ n ≠ 0 ∨ IsUnit x
def IsRelPrime {α : Type u_1} [Monoid α] (x y : α) :

x and y are relatively prime if every common divisor is a unit.

Equations
Instances For
    theorem IsRelPrime.symm {α : Type u_1} [CommMonoid α] {x y : α} (H : IsRelPrime x y) :
    @[deprecated symm_isRelPrime (since := "2026-06-10")]

    Alias of symm_isRelPrime.

    theorem isRelPrime_comm {α : Type u_1} [CommMonoid α] {x y : α} :
    theorem isRelPrime_self {α : Type u_1} [CommMonoid α] {x : α} :
    theorem IsUnit.isRelPrime_left {α : Type u_1} [CommMonoid α] {x y : α} (h : IsUnit x) :
    theorem IsUnit.isRelPrime_right {α : Type u_1} [CommMonoid α] {x y : α} (h : IsUnit y) :
    theorem isRelPrime_one_left {α : Type u_1} [CommMonoid α] {x : α} :
    theorem isRelPrime_one_right {α : Type u_1} [CommMonoid α] {x : α} :
    theorem IsRelPrime.of_mul_left_left {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime (x * y) z) :
    theorem IsRelPrime.of_mul_left_right {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime (x * y) z) :
    theorem IsRelPrime.of_mul_right_left {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime x (y * z)) :
    theorem IsRelPrime.of_mul_right_right {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime x (y * z)) :
    theorem IsRelPrime.of_dvd_left {α : Type u_1} [CommMonoid α] {x y z : α} (h : IsRelPrime y z) (dvd : x ∣ y) :
    theorem IsRelPrime.of_dvd_right {α : Type u_1} [CommMonoid α] {x y z : α} (h : IsRelPrime z y) (dvd : x ∣ y) :
    theorem IsRelPrime.isUnit_of_dvd {α : Type u_1} [CommMonoid α] {x y : α} (H : IsRelPrime x y) (d : x ∣ y) :
    theorem isRelPrime_mul_unit_left_left {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    theorem isRelPrime_mul_unit_left_right {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    theorem isRelPrime_mul_unit_left {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    IsRelPrime (x * y) (x * z) ↔ IsRelPrime y z
    theorem isRelPrime_mul_unit_right_left {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    theorem isRelPrime_mul_unit_right_right {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    theorem isRelPrime_mul_unit_right {α : Type u_1} [CommMonoid α] {x y z : α} (hu : IsUnit x) :
    IsRelPrime (y * x) (z * x) ↔ IsRelPrime y z
    theorem IsRelPrime.dvd_of_dvd_mul_right_of_isPrimal {α : Type u_1} [CommMonoid α] {x y z : α} (H1 : IsRelPrime x z) (H2 : x ∣ y * z) (h : IsPrimal x) :
    x ∣ y
    theorem IsRelPrime.dvd_of_dvd_mul_left_of_isPrimal {α : Type u_1} [CommMonoid α] {x y z : α} (H1 : IsRelPrime x y) (H2 : x ∣ y * z) (h : IsPrimal x) :
    x ∣ z
    theorem IsRelPrime.mul_dvd_of_right_isPrimal {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime x y) (H1 : x ∣ z) (H2 : y ∣ z) (hy : IsPrimal y) :
    x * y ∣ z
    theorem IsRelPrime.mul_dvd_of_left_isPrimal {α : Type u_1} [CommMonoid α] {x y z : α} (H : IsRelPrime x y) (H1 : x ∣ z) (H2 : y ∣ z) (hx : IsPrimal x) :
    x * y ∣ z

    IsRelPrime enjoys desirable properties in a decomposition monoid. See Lemma 6.3 in On properties of square-free elements in commutative cancellative monoids, https://doi.org/10.1007/s00233-019-10022-3.

    theorem IsRelPrime.dvd_of_dvd_mul_right {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] (H1 : IsRelPrime x z) (H2 : x ∣ y * z) :
    x ∣ y
    theorem IsRelPrime.dvd_of_dvd_mul_left {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] (H1 : IsRelPrime x y) (H2 : x ∣ y * z) :
    x ∣ z
    theorem IsRelPrime.mul_left {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] (H1 : IsRelPrime x z) (H2 : IsRelPrime y z) :
    IsRelPrime (x * y) z
    theorem IsRelPrime.mul_right {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] (H1 : IsRelPrime x y) (H2 : IsRelPrime x z) :
    IsRelPrime x (y * z)
    theorem IsRelPrime.mul_left_iff {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] :
    theorem IsRelPrime.mul_right_iff {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] :
    theorem IsRelPrime.mul_dvd {α : Type u_1} [CommMonoid α] {x y z : α} [DecompositionMonoid α] (H : IsRelPrime x y) (H1 : x ∣ z) (H2 : y ∣ z) :
    x * y ∣ z