# Documentation

Mathlib.Algebra.Squarefree

# 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 #

• Squarefree r indicates that r is only divisible by x * x if x is a unit.

## Tags #

squarefree, multiplicity

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

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

Instances For
@[simp]
theorem IsUnit.squarefree {R : Type u_1} [] {x : R} (h : ) :
theorem squarefree_one {R : Type u_1} [] :
@[simp]
theorem not_squarefree_zero {R : Type u_1} [] [] :
theorem Squarefree.ne_zero {R : Type u_1} [] [] {m : R} (hm : ) :
m 0
@[simp]
theorem Irreducible.squarefree {R : Type u_1} [] {x : R} (h : ) :
@[simp]
theorem Prime.squarefree {R : Type u_1} {x : R} (h : ) :
theorem Squarefree.of_mul_left {R : Type u_1} [] {m : R} {n : R} (hmn : Squarefree (m * n)) :
theorem Squarefree.of_mul_right {R : Type u_1} [] {m : R} {n : R} (hmn : Squarefree (m * n)) :
theorem Squarefree.squarefree_of_dvd {R : Type u_1} [] {x : R} {y : R} (hdvd : x y) (hsq : ) :
theorem Squarefree.gcd_right {α : Type u_2} [] (a : α) {b : α} (hb : ) :
theorem Squarefree.gcd_left {α : Type u_2} [] {a : α} (b : α) (ha : ) :
theorem multiplicity.squarefree_iff_multiplicity_le_one {R : Type u_1} [] [DecidableRel Dvd.dvd] (r : R) :
∀ (x : R), 1
theorem multiplicity.finite_prime_left {R : Type u_1} [] {a : R} {b : R} (ha : ) (hb : b 0) :
theorem irreducible_sq_not_dvd_iff_eq_zero_and_no_irreducibles_or_squarefree {R : Type u_1} [] (r : R) :
(∀ (x : R), ¬x * x r) (r = 0 ∀ (x : R), )
theorem squarefree_iff_irreducible_sq_not_dvd_of_ne_zero {R : Type u_1} [] {r : R} (hr : r 0) :
∀ (x : R), ¬x * x r
theorem squarefree_iff_irreducible_sq_not_dvd_of_exists_irreducible {R : Type u_1} [] {r : R} (hr : x, ) :
∀ (x : R), ¬x * x r
theorem IsRadical.squarefree {R : Type u_1} {x : R} (h0 : x 0) (h : ) :
theorem Squarefree.isRadical {R : Type u_1} [] {x : R} (hx : ) :
theorem isRadical_iff_squarefree_or_zero {R : Type u_1} [] {x : R} :
x = 0
theorem isRadical_iff_squarefree_of_ne_zero {R : Type u_1} [] {x : R} (h : x 0) :
theorem UniqueFactorizationMonoid.dvd_pow_iff_dvd_of_squarefree {R : Type u_1} {x : R} {y : R} {n : } (hsq : ) (h0 : n 0) :
x y ^ n x y
@[simp]
theorem Int.squarefree_natAbs {n : } :
@[simp]
theorem Int.squarefree_coe_nat {n : } :