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_multiplicity_le_one
:x
isSquarefree
iff for everyy
, eithermultiplicity 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
@[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_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.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
multiplicity.squarefree_iff_multiplicity_le_one
{R : Type u_1}
[CommMonoid R]
[DecidableRel Dvd.dvd]
(r : R)
:
Squarefree r ↔ ∀ (x : R), multiplicity x r ≤ 1 ∨ IsUnit x
theorem
multiplicity.finite_prime_left
{R : Type u_1}
[CancelCommMonoidWithZero R]
[WfDvdMonoid R]
{a : R}
{b : R}
(ha : Prime a)
(hb : b ≠ 0)
:
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, 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)
:
theorem
Squarefree.isRadical
{R : Type u_1}
[CancelCommMonoidWithZero R]
[GCDMonoid R]
{x : R}
(hx : Squarefree x)
:
theorem
isRadical_iff_squarefree_or_zero
{R : Type u_1}
[CancelCommMonoidWithZero R]
[GCDMonoid R]
{x : R}
:
IsRadical x ↔ Squarefree x ∨ x = 0
theorem
isRadical_iff_squarefree_of_ne_zero
{R : Type u_1}
[CancelCommMonoidWithZero R]
[GCDMonoid R]
{x : R}
(h : x ≠ 0)
:
IsRadical x ↔ Squarefree x
theorem
UniqueFactorizationMonoid.squarefree_iff_nodup_normalizedFactors
{R : Type u_1}
[CancelCommMonoidWithZero R]
[UniqueFactorizationMonoid R]
[NormalizationMonoid R]
[DecidableEq R]
{x : R}
(x0 : x ≠ 0)
:
theorem
UniqueFactorizationMonoid.dvd_pow_iff_dvd_of_squarefree
{R : Type u_1}
[CancelCommMonoidWithZero R]
[UniqueFactorizationMonoid R]
{x : R}
{y : R}
{n : ℕ}
(hsq : Squarefree x)
(h0 : n ≠ 0)
: