Documentation

Mathlib.Algebra.Squarefree.Basic

Squarefree elements of monoids #

An element of a monoid is squarefree when it is not divisible by any squares except the squares of units.

Results about squarefree natural numbers are proved in Data.Nat.Squarefree.

Main Definitions #

Main Results #

Tags #

squarefree, multiplicity

def Squarefree {R : Type u_1} [Monoid R] (r : R) :

An element of a monoid is squarefree if the only squares that divide it are the squares of units.

Equations
Instances For
    @[simp]
    theorem IsUnit.squarefree {R : Type u_1} [CommMonoid R] {x : R} (h : IsUnit x) :
    theorem Squarefree.ne_zero {R : Type u_1} [MonoidWithZero R] [Nontrivial R] {m : R} (hm : Squarefree m) :
    m 0
    @[simp]
    theorem Irreducible.squarefree {R : Type u_1} [CommMonoid R] {x : R} (h : Irreducible x) :
    @[simp]
    theorem Prime.squarefree {R : Type u_1} [CancelCommMonoidWithZero R] {x : R} (h : Prime x) :
    theorem Squarefree.of_mul_left {R : Type u_1} [CommMonoid R] {m : R} {n : R} (hmn : Squarefree (m * n)) :
    theorem Squarefree.of_mul_right {R : Type u_1} [CommMonoid R] {m : R} {n : R} (hmn : Squarefree (m * n)) :
    theorem Squarefree.squarefree_of_dvd {R : Type u_1} [CommMonoid R] {x : R} {y : R} (hdvd : x y) (hsq : Squarefree y) :
    theorem Squarefree.eq_zero_or_one_of_pow_of_not_isUnit {R : Type u_1} [CommMonoid R] {x : R} {n : } (h : Squarefree (x ^ n)) (h' : ¬IsUnit x) :
    n = 0 n = 1
    theorem Squarefree.gcd_right {α : Type u_2} [CancelCommMonoidWithZero α] [GCDMonoid α] (a : α) {b : α} (hb : Squarefree b) :
    theorem Squarefree.gcd_left {α : Type u_2} [CancelCommMonoidWithZero α] [GCDMonoid α] {a : α} (b : α) (ha : Squarefree a) :
    theorem multiplicity.finite_prime_left {R : Type u_1} [CancelCommMonoidWithZero R] [WfDvdMonoid R] {a : R} {b : R} (ha : Prime a) (hb : b 0) :
    theorem squarefree_iff_irreducible_sq_not_dvd_of_ne_zero {R : Type u_1} [CommMonoidWithZero R] [WfDvdMonoid R] {r : R} (hr : r 0) :
    Squarefree r ∀ (x : R), Irreducible x¬x * x r
    theorem squarefree_iff_irreducible_sq_not_dvd_of_exists_irreducible {R : Type u_1} [CommMonoidWithZero R] [WfDvdMonoid R] {r : R} (hr : ∃ (x : R), Irreducible x) :
    Squarefree r ∀ (x : R), Irreducible x¬x * x r
    theorem IsRadical.squarefree {R : Type u_1} [CancelCommMonoidWithZero R] {x : R} (h0 : x 0) (h : IsRadical x) :