Loogle!
Result
Found 188 declarations mentioning NormalizationMonoid.
- NormalizationMonoid 📋 Mathlib.Algebra.GCDMonoid.Basic
(α : Type u_2) [MonoidWithZero α] : Type u_2 - normalize 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : α - NormalizedGCDMonoid.toNormalizationMonoid 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : CommMonoidWithZero α} [self : NormalizedGCDMonoid α] : NormalizationMonoid α - StrongNormalizationMonoid.toNormalizationMonoid 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : CommMonoidWithZero α} [self : StrongNormalizationMonoid α] : NormalizationMonoid α - Associates.out 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : Associates α → α - NormalizationMonoid.normUnit 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : MonoidWithZero α} [self : NormalizationMonoid α] : α → αˣ - instNonemptyNormalizationMonoid 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] : Nonempty (NormalizationMonoid α) - instUniqueNormalizationMonoid 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [Subsingleton αˣ] : Unique (NormalizationMonoid α) - Associates.out_injective 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : Function.Injective Associates.out - associated_normalize 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : Associated x (normalize x) - normalize_associated 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : Associated (normalize x) x - instNonemptyNormalizationMonoidOfIsLeftCancelMulZero 📋 Mathlib.Algebra.GCDMonoid.Basic
(α : Type u_2) [MonoidWithZero α] [IsLeftCancelMulZero α] : Nonempty (NormalizationMonoid α) - normalize_idem 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : normalize (normalize x) = normalize x - Associates.out_mk 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (a : α) : (Associates.mk a).out = normalize a - associated_normalize_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {x y : α} : Associated x (normalize y) ↔ Associated x y - normalize_associated_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {x y : α} : Associated (normalize x) y ↔ Associated x y - Associates.normalize_out 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (a : Associates α) : normalize a.out = a.out - normalize_eq_normalize_iff_associated 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {a b : α} : normalize a = normalize b ↔ Associated a b - Associates.mk_out 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (a : Associates α) : Associates.mk a.out = a - Associates.mk_normalize 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : Associates.mk (normalize x) = Associates.mk x - dvd_normalize_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {a b : α} : a ∣ normalize b ↔ a ∣ b - normalize_dvd_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {a b : α} : normalize a ∣ b ↔ a ∣ b - normalize_eq_one 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {x : α} : normalize x = 1 ↔ IsUnit x - Associated.eq_of_normalized 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {a b : α} (h : Associated a b) (ha : normalize a = a) (hb : normalize b = b) : a = b - normalize_zero 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : normalize 0 = 0 - normalize_coe_units 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (u : αˣ) : normalize ↑u = 1 - normalize_apply 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (x : α) : normalize x = x * ↑(normUnit x) - normUnit_coe_units 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (u : αˣ) : normUnit ↑u = u⁻¹ - normalize_one 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : normalize 1 = 1 - normalize_eq_zero 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {x : α} : normalize x = 0 ↔ x = 0 - Associates.out_top 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : ⊤.out = 0 - Associates.out_one 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : Associates.out 1 = 1 - NormalizationMonoid.normUnit_zero 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : MonoidWithZero α} [self : NormalizationMonoid α] : normUnit 0 = 1 - NormalizationMonoid.normUnit_one 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : MonoidWithZero α} [self : NormalizationMonoid α] : normUnit 1 = 1 - Associates.out_zero 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] : Associates.out 0 = 0 - normalize_eq_normalize 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] [IsLeftCancelMulZero α] {a b : α} (hab : a ∣ b) (hba : b ∣ a) : normalize a = normalize b - NormalizedGCDMonoid.mk 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [CommMonoidWithZero α] [toNormalizationMonoid : NormalizationMonoid α] [toGCDMonoid : GCDMonoid α] (normalize_gcd : ∀ (a b : α), normalize (gcd a b) = gcd a b) (normalize_lcm : ∀ (a b : α), normalize (lcm a b) = lcm a b) : NormalizedGCDMonoid α - normUnit_mul_normUnit 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] (a : α) : normUnit (a * ↑(normUnit a)) = 1 - normalize_eq_normalize_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] [IsLeftCancelMulZero α] {x y : α} : normalize x = normalize y ↔ x ∣ y ∧ y ∣ x - Associates.out_eq_zero_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] {a : Associates α} : a.out = 0 ↔ a = 0 - dvd_antisymm_of_normalize_eq 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [MonoidWithZero α] [NormalizationMonoid α] [IsLeftCancelMulZero α] {a b : α} (ha : normalize a = a) (hb : normalize b = b) (hab : a ∣ b) (hba : b ∣ a) : a = b - Associates.dvd_out_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [CommMonoidWithZero α] [NormalizationMonoid α] (a : α) (b : Associates α) : a ∣ b.out ↔ Associates.mk a ≤ b - Associates.out_dvd_iff 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [CommMonoidWithZero α] [NormalizationMonoid α] (a : α) (b : Associates α) : b.out ∣ a ↔ b ≤ Associates.mk a - normalizedGCDMonoidOfExistsGCD 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [IsCancelMulZero α] [NormalizationMonoid α] [DecidableEq α] (h : ∀ (a b : α), ∃ c, ∀ (d : α), d ∣ a ∧ d ∣ b ↔ d ∣ c) : NormalizedGCDMonoid α - normalizedGCDMonoidOfExistsLCM 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [IsCancelMulZero α] [NormalizationMonoid α] [DecidableEq α] (h : ∀ (a b : α), ∃ c, ∀ (d : α), a ∣ d ∧ b ∣ d ↔ c ∣ d) : NormalizedGCDMonoid α - NormalizationMonoid.ofRightInverse 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [MonoidWithZero α] [IsLeftCancelMulZero α] (out : Associates α → α) (mk_out : ∀ (a : Associates α), Associates.mk (out a) = a) (out_one : out 1 = 1) : NormalizationMonoid α - Associates.out_mul' 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [CommMonoidWithZero α] [NormalizationMonoid α] (a b : Associates α) : Associated (a * b).out (a.out * b.out) - NormalizationMonoid.normUnit_mul_units 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} {inst✝ : MonoidWithZero α} [self : NormalizationMonoid α] {a : α} (u : αˣ) : a ≠ 0 → normUnit (a * ↑u) = u⁻¹ * normUnit a - normalizedGCDMonoidOfGCD 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [IsCancelMulZero α] [NormalizationMonoid α] [DecidableEq α] (gcd : α → α → α) (gcd_dvd_left : ∀ (a b : α), gcd a b ∣ a) (gcd_dvd_right : ∀ (a b : α), gcd a b ∣ b) (dvd_gcd : ∀ {a b c : α}, a ∣ c → a ∣ b → a ∣ gcd c b) (normalize_gcd : ∀ (a b : α), normalize (gcd a b) = gcd a b) : NormalizedGCDMonoid α - normalizedGCDMonoidOfLCM 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_1} [CommMonoidWithZero α] [IsCancelMulZero α] [NormalizationMonoid α] [DecidableEq α] (lcm : α → α → α) (dvd_lcm_left : ∀ (a b : α), a ∣ lcm a b) (dvd_lcm_right : ∀ (a b : α), b ∣ lcm a b) (lcm_dvd : ∀ {a b c : α}, c ∣ a → b ∣ a → lcm c b ∣ a) (normalize_lcm : ∀ (a b : α), normalize (lcm a b) = lcm a b) : NormalizedGCDMonoid α - StrongNormalizationMonoid.mk 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [CommMonoidWithZero α] [toNormalizationMonoid : NormalizationMonoid α] (normUnit_mul : ∀ {a b : α}, a ≠ 0 → b ≠ 0 → normUnit (a * b) = normUnit a * normUnit b) (normUnit_coe_units : ∀ (u : αˣ), normUnit ↑u = u⁻¹) : StrongNormalizationMonoid α - NormalizationMonoid.mk 📋 Mathlib.Algebra.GCDMonoid.Basic
{α : Type u_2} [MonoidWithZero α] (normUnit : α → αˣ) (normUnit_zero : normUnit 0 = 1) (normUnit_one : normUnit 1 = 1) (normUnit_mul_units : ∀ {a : α} (u : αˣ), a ≠ 0 → normUnit (a * ↑u) = u⁻¹ * normUnit a) : NormalizationMonoid α - Ideal.exists_normalized_span_of_isPrincipal 📋 Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u_1} [CommSemiring R] [NormalizationMonoid R] (I : Ideal R) [Submodule.IsPrincipal I] : ∃ x, normalize x = x ∧ I = Ideal.span {x} - UniqueFactorizationMonoid.normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (a : α) : Multiset α - UniqueFactorizationMonoid.prime_of_normalized_factor 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α) : x ∈ UniqueFactorizationMonoid.normalizedFactors a → Prime x - UniqueFactorizationMonoid.irreducible_of_normalized_factor 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α) : x ∈ UniqueFactorizationMonoid.normalizedFactors a → Irreducible x - UniqueFactorizationMonoid.normalize_normalized_factor 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α) : x ∈ UniqueFactorizationMonoid.normalizedFactors a → normalize x = x - Associated.normalizedFactors_eq 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a b : α} (h : Associated a b) : UniqueFactorizationMonoid.normalizedFactors a = UniqueFactorizationMonoid.normalizedFactors b - UniqueFactorizationMonoid.normalizedFactors_of_isUnit 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (hx : IsUnit x) : UniqueFactorizationMonoid.normalizedFactors x = 0 - UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a p : α} (H : p ∈ UniqueFactorizationMonoid.normalizedFactors a) : p ∣ a - UniqueFactorizationMonoid.zero_notMem_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (x : α) : 0 ∉ UniqueFactorizationMonoid.normalizedFactors x - UniqueFactorizationMonoid.disjoint_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a b : α} (hc : IsRelPrime a b) : Disjoint (UniqueFactorizationMonoid.normalizedFactors a) (UniqueFactorizationMonoid.normalizedFactors b) - UniqueFactorizationMonoid.normalizedFactors_irreducible 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (ha : Irreducible a) : UniqueFactorizationMonoid.normalizedFactors a = {normalize a} - UniqueFactorizationMonoid.normalizedFactors_zero 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] : UniqueFactorizationMonoid.normalizedFactors 0 = 0 - UniqueFactorizationMonoid.ne_zero_of_mem_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x a : α} (hx : x ∈ UniqueFactorizationMonoid.normalizedFactors a) : x ≠ 0 - UniqueFactorizationMonoid.normalizedFactors_one 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] : UniqueFactorizationMonoid.normalizedFactors 1 = 0 - UniqueFactorizationMonoid.prod_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (ane0 : a ≠ 0) : Associated (UniqueFactorizationMonoid.normalizedFactors a).prod a - UniqueFactorizationMonoid.normalizedFactors_prod_of_prime 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] [Subsingleton αˣ] {m : Multiset α} (h : ∀ p ∈ m, Prime p) : UniqueFactorizationMonoid.normalizedFactors m.prod = m - UniqueFactorizationMonoid.prod_ne_zero_of_subset_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_2} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [Nontrivial α] {a : α} {m : Multiset α} (hm : m ⊆ UniqueFactorizationMonoid.normalizedFactors a) : m.prod ≠ 0 - UniqueFactorizationMonoid.mem_normalizedFactors_eq_of_associated 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a b c : α} (ha : a ∈ UniqueFactorizationMonoid.normalizedFactors c) (hb : b ∈ UniqueFactorizationMonoid.normalizedFactors c) (h : Associated a b) : a = b - UniqueFactorizationMonoid.exists_mem_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (hx : x ≠ 0) (h : ¬IsUnit x) : ∃ p, p ∈ UniqueFactorizationMonoid.normalizedFactors x - UniqueFactorizationMonoid.normalizedFactors_prod_eq 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (s : Multiset α) (hs : ∀ a ∈ s, Irreducible a) : UniqueFactorizationMonoid.normalizedFactors s.prod = Multiset.map normalize s - UniqueFactorizationMonoid.normalizedFactors_eq_zero_iff 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (hx : x ≠ 0) : UniqueFactorizationMonoid.normalizedFactors x = 0 ↔ IsUnit x - UniqueFactorizationMonoid.prod_inter_normalizedFactors_ne_zero 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_2} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [DecidableEq α] [NormalizationMonoid α] [Nontrivial α] (a b : α) : (UniqueFactorizationMonoid.normalizedFactors a ∩ UniqueFactorizationMonoid.normalizedFactors b).prod ≠ 0 - Irreducible.normalizedFactors_pow 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p : α} (hp : Irreducible p) (k : ℕ) : UniqueFactorizationMonoid.normalizedFactors (p ^ k) = Multiset.replicate k (normalize p) - UniqueFactorizationMonoid.normalizedFactors_eq_of_dvd 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (a p : α) : p ∈ UniqueFactorizationMonoid.normalizedFactors a → ∀ q ∈ UniqueFactorizationMonoid.normalizedFactors a, p ∣ q → p = q - UniqueFactorizationMonoid.normalizedFactors_of_irreducible_pow 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p : α} (hp : Irreducible p) (k : ℕ) : UniqueFactorizationMonoid.normalizedFactors (p ^ k) = Multiset.replicate k (normalize p) - UniqueFactorizationMonoid.normalizedFactors_pos 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (x : α) (hx : x ≠ 0) : 0 < UniqueFactorizationMonoid.normalizedFactors x ↔ ¬IsUnit x - UniqueFactorizationMonoid.normalizedFactors_multiset_prod 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (s : Multiset α) (hs : 0 ∉ s) : UniqueFactorizationMonoid.normalizedFactors s.prod = (Multiset.map UniqueFactorizationMonoid.normalizedFactors s).sum - UniqueFactorizationMonoid.mem_normalizedFactors_iff 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] [Subsingleton αˣ] {p x : α} (hx : x ≠ 0) : p ∈ UniqueFactorizationMonoid.normalizedFactors x ↔ Prime p ∧ p ∣ x - UniqueFactorizationMonoid.normalizedFactors_pow 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (n : ℕ) : UniqueFactorizationMonoid.normalizedFactors (x ^ n) = n • UniqueFactorizationMonoid.normalizedFactors x - UniqueFactorizationMonoid.associated_iff_normalizedFactors_eq_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) : Associated x y ↔ UniqueFactorizationMonoid.normalizedFactors x = UniqueFactorizationMonoid.normalizedFactors y - UniqueFactorizationMonoid.dvdNotUnit_iff_normalizedFactors_lt_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) : DvdNotUnit x y ↔ UniqueFactorizationMonoid.normalizedFactors x < UniqueFactorizationMonoid.normalizedFactors y - UniqueFactorizationMonoid.exists_associated_prime_pow_of_unique_normalized_factor 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p r : α} (h : ∀ {m : α}, m ∈ UniqueFactorizationMonoid.normalizedFactors r → m = p) (hr : r ≠ 0) : ∃ i, Associated (p ^ i) r - UniqueFactorizationMonoid.exists_mem_normalizedFactors_of_dvd 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a p : α} (ha0 : a ≠ 0) (hp : Irreducible p) : p ∣ a → ∃ q ∈ UniqueFactorizationMonoid.normalizedFactors a, Associated p q - UniqueFactorizationMonoid.mem_normalizedFactors_iff' 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p x : α} (h : x ≠ 0) : p ∈ UniqueFactorizationMonoid.normalizedFactors x ↔ Irreducible p ∧ normalize p = p ∧ p ∣ x - UniqueFactorizationMonoid.dvd_iff_normalizedFactors_le_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) : x ∣ y ↔ UniqueFactorizationMonoid.normalizedFactors x ≤ UniqueFactorizationMonoid.normalizedFactors y - UniqueFactorizationMonoid.normalizedFactors_mul 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) : UniqueFactorizationMonoid.normalizedFactors (x * y) = UniqueFactorizationMonoid.normalizedFactors x + UniqueFactorizationMonoid.normalizedFactors y - UniqueFactorizationMonoid.normalizedFactorsEquiv 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {β : Type u_2} [CommMonoidWithZero β] [NormalizationMonoid β] [UniqueFactorizationMonoid β] {F : Type u_3} [EquivLike F α β] [MulEquivClass F α β] {f : F} (he : ∀ (x : α), normalize (f x) = f (normalize x)) (a : α) : { x // x ∈ UniqueFactorizationMonoid.normalizedFactors a } ≃ { y // y ∈ UniqueFactorizationMonoid.normalizedFactors (f a) } - UniqueFactorizationMonoid.normalizedFactorsEquiv_apply 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {β : Type u_2} [CommMonoidWithZero β] [NormalizationMonoid β] [UniqueFactorizationMonoid β] {F : Type u_3} [EquivLike F α β] [MulEquivClass F α β] {f : F} (he : ∀ (x : α), normalize (f x) = f (normalize x)) {a p : α} (hp : p ∈ UniqueFactorizationMonoid.normalizedFactors a) : ↑((UniqueFactorizationMonoid.normalizedFactorsEquiv he a) ⟨p, hp⟩) = f p - UniqueFactorizationMonoid.normalizedFactorsEquiv_symm_apply 📋 Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
{α : Type u_1} [CommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {β : Type u_2} [CommMonoidWithZero β] [NormalizationMonoid β] [UniqueFactorizationMonoid β] {F : Type u_3} [EquivLike F α β] [MulEquivClass F α β] {f : F} (he : ∀ (x : α), normalize (f x) = f (normalize x)) {a : α} {q : β} (hq : q ∈ UniqueFactorizationMonoid.normalizedFactors (f a)) : ↑((UniqueFactorizationMonoid.normalizedFactorsEquiv he a).symm ⟨q, hq⟩) = (↑f).symm q - Polynomial.instNormalizationMonoid 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] : NormalizationMonoid (Polynomial R) - Polynomial.roots_normalize 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u_1} [CommRing R] [IsDomain R] [NormalizationMonoid R] {p : Polynomial R} : (normalize p).roots = p.roots - Polynomial.X_eq_normalize 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] : Polynomial.X = normalize Polynomial.X - Polynomial.Monic.normalize_eq_self 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] {p : Polynomial R} (hp : p.Monic) : normalize p = p - Polynomial.leadingCoeff_normalize 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] (p : Polynomial R) : (normalize p).leadingCoeff = normalize p.leadingCoeff - Polynomial.normUnit_X 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] : normUnit Polynomial.X = 1 - Polynomial.coe_normUnit 📋 Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} [CommRing R] [NoZeroDivisors R] [NormalizationMonoid R] {p : Polynomial R} : ↑(normUnit p) = Polynomial.C ↑(normUnit p.leadingCoeff) - UniqueFactorizationMonoid.toNormalizedGCDMonoid 📋 Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid
(α : Type u_2) [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] : NormalizedGCDMonoid α - UniqueFactorizationMonoid.multiplicity_eq_count_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] {a b : R} (ha : Irreducible a) (hb : b ≠ 0) : multiplicity a b = Multiset.count (normalize a) (UniqueFactorizationMonoid.normalizedFactors b) - UniqueFactorizationMonoid.emultiplicity_eq_count_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] {a b : R} (ha : Irreducible a) (hb : b ≠ 0) : emultiplicity a b = ↑(Multiset.count (normalize a) (UniqueFactorizationMonoid.normalizedFactors b)) - UniqueFactorizationMonoid.associated_finprod_pow_count 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] {x : R} (hx : x ≠ 0) : Associated (∏ᶠ (p : R), p ^ Multiset.count p (UniqueFactorizationMonoid.normalizedFactors x)) x - UniqueFactorizationMonoid.finprod_pow_count_eq_of_subsingleton_units 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] [Subsingleton Rˣ] {x : R} (hx : x ≠ 0) : ∏ᶠ (p : R), p ^ Multiset.count p (UniqueFactorizationMonoid.normalizedFactors x) = x - UniqueFactorizationMonoid.le_emultiplicity_iff_replicate_le_normalizedFactors 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] {a b : R} {n : ℕ} (ha : Irreducible a) (hb : b ≠ 0) : ↑n ≤ emultiplicity a b ↔ Multiset.replicate n (normalize a) ≤ UniqueFactorizationMonoid.normalizedFactors b - UniqueFactorizationMonoid.count_normalizedFactors_eq 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] {p x : R} (hp : Irreducible p) (hnorm : normalize p = p) {n : ℕ} (hle : p ^ n ∣ x) (hlt : ¬p ^ (n + 1) ∣ x) : Multiset.count p (UniqueFactorizationMonoid.normalizedFactors x) = n - UniqueFactorizationMonoid.count_normalizedFactors_eq' 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity
{R : Type u_2} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] [DecidableEq R] {p x : R} (hp : p = 0 ∨ Irreducible p) (hnorm : normalize p = p) {n : ℕ} (hle : p ^ n ∣ x) (hlt : ¬p ^ (n + 1) ∣ x) : Multiset.count p (UniqueFactorizationMonoid.normalizedFactors x) = n - UniqueFactorizationMonoid.instIsMulTorsionFree 📋 Mathlib.Algebra.GroupWithZero.Torsion
{M : Type u_1} [CommMonoidWithZero M] [UniqueFactorizationMonoid M] [NormalizationMonoid M] [IsMulTorsionFree Mˣ] : IsMulTorsionFree M - UniqueFactorizationMonoid.squarefree_iff_nodup_normalizedFactors 📋 Mathlib.Algebra.Squarefree.Basic
{R : Type u_1} [CommMonoidWithZero R] [UniqueFactorizationMonoid R] [NormalizationMonoid R] {x : R} (x0 : x ≠ 0) : Squarefree x ↔ (UniqueFactorizationMonoid.normalizedFactors x).Nodup - singleton_span_mem_normalizedFactors_of_mem_normalizedFactors 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {a b : R} (ha : a ∈ UniqueFactorizationMonoid.normalizedFactors b) : Ideal.span {a} ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {b}) - Ideal.singleton_span_mem_normalizedFactors_of_mem_normalizedFactors 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {a b : R} (ha : a ∈ UniqueFactorizationMonoid.normalizedFactors b) : Ideal.span {a} ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {b}) - normalizedFactorsEquivSpanNormalizedFactors 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r : R} (hr : r ≠ 0) : ↑{d | d ∈ UniqueFactorizationMonoid.normalizedFactors r} ≃ ↑{I | I ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})} - Ideal.normalizedFactorsEquivSpanNormalizedFactors 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r : R} (hr : r ≠ 0) : ↑{d | d ∈ UniqueFactorizationMonoid.normalizedFactors r} ≃ ↑{I | I ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})} - count_span_normalizedFactors_eq 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableEq R] {r X : R} (hr : r ≠ 0) (hX : Prime X) : Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) = Multiset.count (normalize X) (UniqueFactorizationMonoid.normalizedFactors r) - Ideal.count_span_normalizedFactors_eq 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableEq R] {r X : R} (hr : r ≠ 0) (hX : Prime X) : Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) = Multiset.count (normalize X) (UniqueFactorizationMonoid.normalizedFactors r) - count_span_normalizedFactors_eq_of_normUnit 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableEq R] {r X : R} (hr : r ≠ 0) (hX₁ : normUnit X = 1) (hX : Prime X) : Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) = Multiset.count X (UniqueFactorizationMonoid.normalizedFactors r) - Ideal.count_span_normalizedFactors_eq_of_normUnit 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableEq R] {r X : R} (hr : r ≠ 0) (hX₁ : normUnit X = 1) (hX : Prime X) : Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) = Multiset.count X (UniqueFactorizationMonoid.normalizedFactors r) - emultiplicity_normalizedFactorsEquivSpanNormalizedFactors_eq_emultiplicity 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r d : R} (hr : r ≠ 0) (hd : d ∈ UniqueFactorizationMonoid.normalizedFactors r) : emultiplicity d r = emultiplicity (↑((Ideal.normalizedFactorsEquivSpanNormalizedFactors hr) ⟨d, hd⟩)) (Ideal.span {r}) - Ideal.emultiplicity_normalizedFactorsEquivSpanNormalizedFactors_eq_emultiplicity 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r d : R} (hr : r ≠ 0) (hd : d ∈ UniqueFactorizationMonoid.normalizedFactors r) : emultiplicity d r = emultiplicity (↑((Ideal.normalizedFactorsEquivSpanNormalizedFactors hr) ⟨d, hd⟩)) (Ideal.span {r}) - emultiplicity_normalizedFactorsEquivSpanNormalizedFactors_symm_eq_emultiplicity 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r : R} (hr : r ≠ 0) (I : ↑{I | I ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})}) : emultiplicity (↑((Ideal.normalizedFactorsEquivSpanNormalizedFactors hr).symm I)) r = emultiplicity (↑I) (Ideal.span {r}) - Ideal.emultiplicity_normalizedFactorsEquivSpanNormalizedFactors_symm_eq_emultiplicity 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {r : R} (hr : r ≠ 0) (I : ↑{I | I ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})}) : emultiplicity (↑((Ideal.normalizedFactorsEquivSpanNormalizedFactors hr).symm I)) r = emultiplicity (↑I) (Ideal.span {r}) - factorization 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] (n : α) : α →₀ ℕ - support_factorization 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] {n : α} : (factorization n).support = (UniqueFactorizationMonoid.normalizedFactors n).toFinset - factorization_eq_count 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] {n p : α} : (factorization n) p = Multiset.count p (UniqueFactorizationMonoid.normalizedFactors n) - factorization_zero 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] : factorization 0 = 0 - factorization_one 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] : factorization 1 = 0 - associated_of_factorization_eq 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] (a b : α) (ha : a ≠ 0) (hb : b ≠ 0) (h : factorization a = factorization b) : Associated a b - factorization_pow 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] {x : α} {n : ℕ} : factorization (x ^ n) = n • factorization x - factorization_mul 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] {a b : α} (ha : a ≠ 0) (hb : b ≠ 0) : factorization (a * b) = factorization a + factorization b - UniqueFactorizationMonoid.radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] (a : M) : M - UniqueFactorizationMonoid.primeFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] (a : M) : Finset M - EuclideanDomain.divRadical 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] (a : E) : E - UniqueFactorizationMonoid.squarefree_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : Squarefree (UniqueFactorizationMonoid.radical a) - UniqueFactorizationMonoid.radical_dvd_self 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : UniqueFactorizationMonoid.radical a ∣ a - UniqueFactorizationMonoid.radical_of_prime 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : Prime a) : UniqueFactorizationMonoid.radical a = normalize a - UniqueFactorizationMonoid.radical_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : UniqueFactorizationMonoid.radical (UniqueFactorizationMonoid.radical a) = UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.primeFactors_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : UniqueFactorizationMonoid.primeFactors (UniqueFactorizationMonoid.radical a) = UniqueFactorizationMonoid.primeFactors a - UniqueFactorizationMonoid.toFinset_normalizedFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} [DecidableEq M] : (UniqueFactorizationMonoid.normalizedFactors a).toFinset = UniqueFactorizationMonoid.primeFactors a - UniqueFactorizationMonoid.pairwise_primeFactors_isRelPrime 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : (↑(UniqueFactorizationMonoid.primeFactors a)).Pairwise IsRelPrime - UniqueFactorizationMonoid.primeFactors_of_isUnit 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (h : IsUnit a) : UniqueFactorizationMonoid.primeFactors a = ∅ - UniqueFactorizationMonoid.radical_eq_of_associated 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (h : Associated a b) : UniqueFactorizationMonoid.radical a = UniqueFactorizationMonoid.radical b - UniqueFactorizationMonoid.radical_ne_zero 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} [Nontrivial M] : UniqueFactorizationMonoid.radical a ≠ 0 - Associated.primeFactors_eq 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (h : Associated a b) : UniqueFactorizationMonoid.primeFactors a = UniqueFactorizationMonoid.primeFactors b - UniqueFactorizationMonoid.isRadical_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : IsRadical (UniqueFactorizationMonoid.radical a) - UniqueFactorizationMonoid.primeFactors_zero 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] : UniqueFactorizationMonoid.primeFactors 0 = ∅ - UniqueFactorizationMonoid.primeFactors_one 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] : UniqueFactorizationMonoid.primeFactors 1 = ∅ - UniqueFactorizationMonoid.disjoint_primeFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (hc : IsRelPrime a b) : Disjoint (UniqueFactorizationMonoid.primeFactors a) (UniqueFactorizationMonoid.primeFactors b) - UniqueFactorizationMonoid.normalizedFactors_nodup 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : IsRadical a) : (UniqueFactorizationMonoid.normalizedFactors a).Nodup - UniqueFactorizationMonoid.radical_eq_iff_primeFactors_eq 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} : UniqueFactorizationMonoid.radical a = UniqueFactorizationMonoid.radical b ↔ UniqueFactorizationMonoid.primeFactors a = UniqueFactorizationMonoid.primeFactors b - UniqueFactorizationMonoid.mem_primeFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} : a ∈ UniqueFactorizationMonoid.primeFactors b ↔ a ∈ UniqueFactorizationMonoid.normalizedFactors b - UniqueFactorizationMonoid.radical_of_isUnit 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (h : IsUnit a) : UniqueFactorizationMonoid.radical a = 1 - EuclideanDomain.divRadical_dvd_self 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] (a : E) : EuclideanDomain.divRadical a ∣ a - UniqueFactorizationMonoid.radical_zero 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] : UniqueFactorizationMonoid.radical 0 = 1 - UniqueFactorizationMonoid.primeFactors_val_eq_normalizedFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : IsRadical a) : (UniqueFactorizationMonoid.primeFactors a).val = UniqueFactorizationMonoid.normalizedFactors a - UniqueFactorizationMonoid.radical_one 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] : UniqueFactorizationMonoid.radical 1 = 1 - UniqueFactorizationMonoid.primeFactors_pow' 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] (a : M) {n : ℕ} [NeZero n] : UniqueFactorizationMonoid.primeFactors (a ^ n) = UniqueFactorizationMonoid.primeFactors a - UniqueFactorizationMonoid.radical_mul_of_isUnit_left 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a u : M} (h : IsUnit u) : UniqueFactorizationMonoid.radical (u * a) = UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.radical_mul_of_isUnit_right 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a u : M} (h : IsUnit u) : UniqueFactorizationMonoid.radical (a * u) = UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.primeFactors_eq_empty_iff 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : a ≠ 0) : UniqueFactorizationMonoid.primeFactors a = ∅ ↔ IsUnit a - UniqueFactorizationMonoid.radical_pow 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] (a : M) {n : ℕ} (hn : n ≠ 0) : UniqueFactorizationMonoid.radical (a ^ n) = UniqueFactorizationMonoid.radical a - EuclideanDomain.divRadical_isUnit 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {u : E} (hu : IsUnit u) : IsUnit (EuclideanDomain.divRadical u) - IsCoprime.divRadical 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a b : E} (h : IsCoprime a b) : IsCoprime (EuclideanDomain.divRadical a) (EuclideanDomain.divRadical b) - UniqueFactorizationMonoid.primeFactors_pow 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] (a : M) {n : ℕ} (hn : n ≠ 0) : UniqueFactorizationMonoid.primeFactors (a ^ n) = UniqueFactorizationMonoid.primeFactors a - UniqueFactorizationMonoid.radical_pow_dvd 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} {n : ℕ} : UniqueFactorizationMonoid.radical (a ^ n) ∣ UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.radical_dvd_radical_iff_normalizedFactors_subset_normalizedFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} : UniqueFactorizationMonoid.radical a ∣ UniqueFactorizationMonoid.radical b ↔ UniqueFactorizationMonoid.normalizedFactors a ⊆ UniqueFactorizationMonoid.normalizedFactors b - UniqueFactorizationMonoid.radical_pow_of_prime 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : Prime a) {n : ℕ} (hn : n ≠ 0) : UniqueFactorizationMonoid.radical (a ^ n) = normalize a - UniqueFactorizationMonoid.radical_prod_dvd 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {ι : Type u_2} {s : Finset ι} {f : ι → M} : UniqueFactorizationMonoid.radical (∏ i ∈ s, f i) ∣ ∏ i ∈ s, UniqueFactorizationMonoid.radical (f i) - UniqueFactorizationDomain.radical_neg 📋 Mathlib.RingTheory.Radical.Basic
{R : Type u_1} [CommRing R] [NormalizationMonoid R] [UniqueFactorizationMonoid R] {a : R} : UniqueFactorizationMonoid.radical (-a) = UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.radical_dvd_radical_iff_primeFactors_subset_primeFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} : UniqueFactorizationMonoid.radical a ∣ UniqueFactorizationMonoid.radical b ↔ UniqueFactorizationMonoid.primeFactors a ⊆ UniqueFactorizationMonoid.primeFactors b - EuclideanDomain.divRadical_mul_radical 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a : E} : EuclideanDomain.divRadical a * UniqueFactorizationMonoid.radical a = a - EuclideanDomain.radical_mul_divRadical 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a : E} : UniqueFactorizationMonoid.radical a * EuclideanDomain.divRadical a = a - UniqueFactorizationMonoid.radical_eq_one_iff 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} : UniqueFactorizationMonoid.radical a = 1 ↔ a = 0 ∨ IsUnit a - UniqueFactorizationMonoid.radical_associated 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : IsRadical a) (ha' : a ≠ 0) : Associated (UniqueFactorizationMonoid.radical a) a - UniqueFactorizationMonoid.radical_dvd_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (h : a ∣ b) (hb₀ : b ≠ 0) : UniqueFactorizationMonoid.radical a ∣ UniqueFactorizationMonoid.radical b - EuclideanDomain.divRadical_ne_zero 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a : E} (ha : a ≠ 0) : EuclideanDomain.divRadical a ≠ 0 - EuclideanDomain.eq_divRadical 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a x : E} (h : UniqueFactorizationMonoid.radical a * x = a) : x = EuclideanDomain.divRadical a - UniqueFactorizationMonoid.exists_dvd_radical_self_pow 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : a ≠ 0) : ∃ n, a ∣ UniqueFactorizationMonoid.radical a ^ n - IsRadical.dvd_radical 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} (ha : IsRadical a) (ha' : a ≠ 0) : a ∣ UniqueFactorizationMonoid.radical a - UniqueFactorizationMonoid.primeFactors_mul_eq_disjUnion 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (hc : IsRelPrime a b) : UniqueFactorizationMonoid.primeFactors (a * b) = (UniqueFactorizationMonoid.primeFactors a).disjUnion (UniqueFactorizationMonoid.primeFactors b) ⋯ - UniqueFactorizationMonoid.radical_prod 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {ι : Type u_2} {f : ι → M} (s : Finset ι) (h : (↑s).Pairwise (Function.onFun IsRelPrime f)) : UniqueFactorizationMonoid.radical (∏ i ∈ s, f i) = ∏ i ∈ s, UniqueFactorizationMonoid.radical (f i) - UniqueFactorizationMonoid.dvd_radical_iff_of_irreducible 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (ha : Irreducible a) (hb : b ≠ 0) : a ∣ UniqueFactorizationMonoid.radical b ↔ a ∣ b - UniqueFactorizationMonoid.radical_dvd_iff_primeFactors_subset 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (hb : b ≠ 0) : UniqueFactorizationMonoid.radical a ∣ b ↔ UniqueFactorizationMonoid.primeFactors a ⊆ UniqueFactorizationMonoid.primeFactors b - UniqueFactorizationMonoid.radical_mul 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (hc : IsRelPrime a b) : UniqueFactorizationMonoid.radical (a * b) = UniqueFactorizationMonoid.radical a * UniqueFactorizationMonoid.radical b - UniqueFactorizationMonoid.radical_mul_dvd 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} : UniqueFactorizationMonoid.radical (a * b) ∣ UniqueFactorizationMonoid.radical a * UniqueFactorizationMonoid.radical b - UniqueFactorizationDomain.radical_neg_one 📋 Mathlib.RingTheory.Radical.Basic
{R : Type u_1} [CommRing R] [NormalizationMonoid R] [UniqueFactorizationMonoid R] : UniqueFactorizationMonoid.radical (-1) = 1 - UniqueFactorizationMonoid.exists_dvd_pow_iff_radical_dvd 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (ha : a ≠ 0) : (∃ n, a ∣ b ^ n) ↔ UniqueFactorizationMonoid.radical a ∣ b - UniqueFactorizationMonoid.dvd_radical_iff 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} (ha : IsRadical a) (hb₀ : b ≠ 0) : a ∣ UniqueFactorizationMonoid.radical b ↔ a ∣ b - EuclideanDomain.divRadical_mul 📋 Mathlib.RingTheory.Radical.Basic
{E : Type u_1} [EuclideanDomain E] [NormalizationMonoid E] [UniqueFactorizationMonoid E] {a b : E} (hab : IsCoprime a b) : EuclideanDomain.divRadical (a * b) = EuclideanDomain.divRadical a * EuclideanDomain.divRadical b - UniqueFactorizationMonoid.primeFactors_mul_eq_union 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a b : M} [DecidableEq M] (ha : a ≠ 0) (hb : b ≠ 0) : UniqueFactorizationMonoid.primeFactors (a * b) = UniqueFactorizationMonoid.primeFactors a ∪ UniqueFactorizationMonoid.primeFactors b
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c