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 thatr
is only divisible byx * x
ifx
is a unit.
Main Results #
multiplicity.squarefree_iff_emultiplicity_le_one
:x
isSquarefree
iff for everyy
, eitheremultiplicity y x ≤ 1
orIsUnit y
.UniqueFactorizationMonoid.squarefree_iff_nodup_factors
: A nonzero elementx
of a unique factorization monoid is squarefree ifffactors x
has no duplicate factors.
Tags #
squarefree, multiplicity
An element of a monoid is squarefree if the only squares that divide it are the squares of units.
Equations
- Squarefree r = ∀ (x : R), x * x ∣ r → IsUnit x
Instances For
theorem
IsRelPrime.of_squarefree_mul
{R : Type u_1}
[CommMonoid R]
{m n : R}
(h : Squarefree (m * n))
:
IsRelPrime m n
@[simp]
@[simp]
theorem
Squarefree.ne_zero
{R : Type u_1}
[MonoidWithZero R]
[Nontrivial R]
{m : R}
(hm : Squarefree m)
:
m ≠ 0
@[simp]
@[simp]
theorem
Squarefree.of_mul_right
{R : Type u_1}
[CommMonoid R]
{m n : R}
(hmn : Squarefree (m * n))
:
theorem
Squarefree.squarefree_of_dvd
{R : Type u_1}
[Monoid R]
{x y : R}
(hdvd : x ∣ y)
(hsq : Squarefree y)
:
theorem
Squarefree.pow_dvd_of_pow_dvd
{R : Type u_1}
[Monoid R]
{x y : R}
{n : ℕ}
(hx : Squarefree y)
(h : x ^ n ∣ y)
:
theorem
Squarefree.gcd_right
{α : Type u_2}
[CancelCommMonoidWithZero α]
[GCDMonoid α]
(a : α)
{b : α}
(hb : Squarefree b)
:
Squarefree (gcd a b)
theorem
Squarefree.gcd_left
{α : Type u_2}
[CancelCommMonoidWithZero α]
[GCDMonoid α]
{a : α}
(b : α)
(ha : Squarefree a)
:
Squarefree (gcd a b)
theorem
squarefree_iff_emultiplicity_le_one
{R : Type u_1}
[CommMonoid R]
(r : R)
:
Squarefree r ↔ ∀ (x : R), emultiplicity x r ≤ 1 ∨ IsUnit x
@[deprecated squarefree_iff_emultiplicity_le_one]
theorem
multiplicity.squarefree_iff_emultiplicity_le_one
{R : Type u_1}
[CommMonoid R]
(r : R)
:
Squarefree r ↔ ∀ (x : R), emultiplicity x r ≤ 1 ∨ IsUnit x
Alias of squarefree_iff_emultiplicity_le_one
.
theorem
squarefree_iff_no_irreducibles
{R : Type u_1}
[CommMonoidWithZero R]
[WfDvdMonoid R]
{x : R}
(hx₀ : x ≠ 0)
:
Squarefree x ↔ ∀ (p : R), Irreducible p → ¬p * p ∣ x
theorem
irreducible_sq_not_dvd_iff_eq_zero_and_no_irreducibles_or_squarefree
{R : Type u_1}
[CommMonoidWithZero R]
[WfDvdMonoid R]
(r : R)
:
(∀ (x : R), Irreducible x → ¬x * x ∣ r) ↔ (r = 0 ∧ ∀ (x : R), ¬Irreducible x) ∨ Squarefree r
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
Squarefree.isRadical
{R : Type u_1}
[CommMonoidWithZero R]
[DecompositionMonoid R]
{x : R}
(hx : Squarefree x)
:
theorem
Squarefree.dvd_pow_iff_dvd
{R : Type u_1}
[CommMonoidWithZero R]
[DecompositionMonoid R]
{x y : R}
{n : ℕ}
(hsq : Squarefree x)
(h0 : n ≠ 0)
:
@[deprecated Squarefree.dvd_pow_iff_dvd]
theorem
UniqueFactorizationMonoid.dvd_pow_iff_dvd_of_squarefree
{R : Type u_1}
[CommMonoidWithZero R]
[DecompositionMonoid R]
{x y : R}
{n : ℕ}
(hsq : Squarefree x)
(h0 : n ≠ 0)
:
Alias of Squarefree.dvd_pow_iff_dvd
.
theorem
IsRadical.squarefree
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x : R}
(h0 : x ≠ 0)
(h : IsRadical x)
:
theorem
Squarefree.pow_dvd_of_squarefree_of_pow_succ_dvd_mul_right
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x y p : R}
{k : ℕ}
(hx : Squarefree x)
(hp : Prime p)
(h : p ^ (k + 1) ∣ x * y)
:
theorem
Squarefree.pow_dvd_of_squarefree_of_pow_succ_dvd_mul_left
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x y p : R}
{k : ℕ}
(hy : Squarefree y)
(hp : Prime p)
(h : p ^ (k + 1) ∣ x * y)
:
theorem
Squarefree.dvd_of_squarefree_of_mul_dvd_mul_right
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x y d : R}
[DecompositionMonoid R]
(hx : Squarefree x)
(h : d * d ∣ x * y)
:
d ∣ y
theorem
Squarefree.dvd_of_squarefree_of_mul_dvd_mul_left
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x y d : R}
[DecompositionMonoid R]
(hy : Squarefree y)
(h : d * d ∣ x * y)
:
d ∣ x
theorem
squarefree_mul_iff
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x y : R}
[DecompositionMonoid R]
:
Squarefree (x * y) ↔ IsRelPrime x y ∧ Squarefree x ∧ Squarefree y
x * y
is square-free iff x
and y
have no common factors and are themselves square-free.
theorem
isRadical_iff_squarefree_or_zero
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x : R}
[DecompositionMonoid R]
:
IsRadical x ↔ Squarefree x ∨ x = 0
theorem
isRadical_iff_squarefree_of_ne_zero
{R : Type u_1}
[CancelCommMonoidWithZero R]
{x : R}
[DecompositionMonoid R]
(h : x ≠ 0)
:
IsRadical x ↔ Squarefree x
theorem
exists_squarefree_dvd_pow_of_ne_zero
{R : Type u_1}
[CancelCommMonoidWithZero R]
[UniqueFactorizationMonoid R]
{x : R}
(hx : x ≠ 0)
:
theorem
UniqueFactorizationMonoid.squarefree_iff_nodup_normalizedFactors
{R : Type u_1}
[CancelCommMonoidWithZero R]
[UniqueFactorizationMonoid R]
[NormalizationMonoid R]
{x : R}
(x0 : x ≠ 0)
:
Squarefree x ↔ (UniqueFactorizationMonoid.normalizedFactors x).Nodup
@[deprecated Int.squarefree_natCast]
Alias of Int.squarefree_natCast
.