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 rindicates thatris only divisible byx * xifxis a unit.
Main Results #
multiplicity.squarefree_iff_emultiplicity_le_one:xisSquarefreeiff for everyy, eitheremultiplicity y x ≤ 1orIsUnit y.UniqueFactorizationMonoid.squarefree_iff_nodup_factors: A nonzero elementxof a unique factorization monoid is squarefree ifffactors xhas 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) :
@[simp]
@[simp]
theorem Prime.squarefree {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x : R} (h : Prime x) :
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} [CommMonoidWithZero α] [GCDMonoid α] (a : α) {b : α} (hb : Squarefree b) :
Squarefree (gcd a b)
theorem Squarefree.gcd_left {α : Type u_2} [CommMonoidWithZero α] [GCDMonoid α] {a : α} (b : α) (ha : Squarefree a) :
Squarefree (gcd a b)
theorem squarefree_iff_no_irreducibles {R : Type u_1} [CommMonoidWithZero R] [WfDvdMonoid R] {x : R} (hx₀ : x ≠ 0) :
theorem irreducible_sq_not_dvd_iff_eq_zero_and_no_irreducibles_or_squarefree {R : Type u_1} [CommMonoidWithZero R] [WfDvdMonoid R] (r : R) :
theorem squarefree_iff_irreducible_sq_not_dvd_of_ne_zero {R : Type u_1} [CommMonoidWithZero R] [WfDvdMonoid R] {r : R} (hr : r ≠ 0) :
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) :
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) :
theorem IsRadical.squarefree {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero 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} [CommMonoidWithZero R] [IsCancelMulZero 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} [CommMonoidWithZero R] [IsCancelMulZero 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} [CommMonoidWithZero R] [IsCancelMulZero R] {x y d : R} [DecompositionMonoid R] (hx : Squarefree x) (h : d * d ∣ x * y) :
theorem Squarefree.dvd_of_squarefree_of_mul_dvd_mul_left {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x y d : R} [DecompositionMonoid R] (hy : Squarefree y) (h : d * d ∣ x * y) :
theorem Squarefree.dvd_of_isSquare_mul {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x y : R} [DecompositionMonoid R] (hx : Squarefree x) (h : IsSquare (x * y)) :
If x is squarefree and x * y is a square, then x ∣ y.
theorem Squarefree.associated_of_isSquare_mul {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x y : R} [DecompositionMonoid R] (hx : Squarefree x) (hy : Squarefree y) (h : IsSquare (x * y)) :
Associated x y
Two squarefree elements whose product is a square are associated.
theorem squarefree_mul_iff {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x y : R} [DecompositionMonoid R] :
x * y is square-free iff x and y have no common factors and are themselves square-free.
theorem Finset.squarefree_prod_of_pairwise_isCoprime {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] [DecompositionMonoid R] {ι : Type u_2} {s : Finset ι} {f : ι → R} (hs : (↑s).Pairwise (Function.onFun IsRelPrime f)) (hs' : ∀ i ∈ s, Squarefree (f i)) :
Squarefree (∏ i ∈ s, f i)
theorem isRadical_iff_squarefree_or_zero {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x : R} [DecompositionMonoid R] :
theorem isRadical_iff_squarefree_of_ne_zero {R : Type u_1} [CommMonoidWithZero R] [IsCancelMulZero R] {x : R} [DecompositionMonoid R] (h : x ≠ 0) :
theorem exists_squarefree_dvd_pow_of_ne_zero {R : Type u_1} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] {x : R} (hx : x ≠ 0) :
theorem exists_sq_mul_squarefree {R : Type u_1} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] (x : R) :
∃ (e : R) (d : R), e ^ 2 * d = x ∧ Squarefree d
Every element of a unique factorization monoid is a square times a squarefree element.
theorem IsSquare.of_mul_right {R : Type u_1} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] {x y : R} (hy : y ≠ 0) (h : IsSquare (x * y)) (hy' : IsSquare y) :
IsSquare x
A nonzero square factor can be cancelled from a square.
theorem UniqueFactorizationMonoid.squarefree_iff_nodup_normalizedFactors {R : Type u_1} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] {x : R} (x0 : x ≠ 0) :