ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- ValuationSubring.coe_comap
@[simp]
theorem coe_comap (A : ValuationSubring L) (f : K →+* L) : (A.comap f : Set K) = f ⁻¹' A 
Arguments: {K : Type u} [Field K] {L : Type u_1} [Field L] (A : ValuationSubring L) (f : K →+* L)
Goal: ↑(A.comap f) = ⇑f ⁻¹' ↑A
-- ValuationSubring.mem_comap
@[simp]
theorem mem_comap {A : ValuationSubring L} {f : K →+* L} {x : K} : x ∈ A.comap f ↔ f x ∈ A 
Arguments: {K : Type u} [Field K] {L : Type u_1} [Field L] {A : ValuationSubring L} {f : K →+* L} {x : K}
Goal: x ∈ A.comap f ↔ f x ∈ A
-- ValuationSubring.comap_comap
theorem comap_comap (A : ValuationSubring J) (g : L →+* J) (f : K →+* L) :
    (A.comap g).comap f = A.comap (g.comp f) 
Arguments: {K : Type u} [Field K] {L : Type u_1} {J : Type u_2} [Field L] [Field J] (A : ValuationSubring J) (g : L →+* J) (f : K →+* L)
Goal: (A.comap g).comap f = A.comap (g.comp f)
-- Valuation.mem_unitGroup_iff
theorem mem_unitGroup_iff : x ∈ v.valuationSubring.unitGroup ↔ v x = 1 
Arguments: (K : Type u) [Field K] {Γ : Type u_1} [LinearOrderedCommGroupWithZero Γ] (v : Valuation K Γ) (x : Kˣ)
Goal: x ∈ v.valuationSubring.unitGroup ↔ v ↑x = 1
-- FreeRing.of_injective
theorem of_injective : Function.Injective (of : α → FreeRing α) 
Arguments: {α : Type u}
Goal: Function.Injective FreeRing.of
-- FreeRing.induction_on
@[elab_as_elim, induction_eliminator]
protected theorem induction_on {C : FreeRing α → Prop} (z : FreeRing α) (hn1 : C (-1))
    (hb : ∀ b, C (of b)) (ha : ∀ x y, C x → C y → C (x + y)) (hm : ∀ x y, C x → C y → C (x * y)) :
    C z 
Arguments: {α : Type u} {C : FreeRing α → Prop} (z : FreeRing α) (hn1 : C (-1)) (hb : ∀ (b : α), C (FreeRing.of b)) (ha : ∀ (x y : FreeRing α), C x → C y → C (x + y)) (hm : ∀ (x y : FreeRing α), C x → C y → C (x * y))
Goal: C z
-- FreeRing.lift_of
@[simp]
theorem lift_of (x : α) : lift f (of x) = f x 
Arguments: {α : Type u} {R : Type v} [Ring R] (f : α → R) (x : α)
Goal: (FreeRing.lift f) (FreeRing.of x) = f x
-- FreeRing.lift_comp_of
@[simp]
theorem lift_comp_of (f : FreeRing α →+* R) : lift (f ∘ of) = f 
Arguments: {α : Type u} {R : Type v} [Ring R] (f : FreeRing α →+* R)
Goal: FreeRing.lift (⇑f ∘ FreeRing.of) = f
-- FreeRing.hom_ext
@[ext]
theorem hom_ext ⦃f g : FreeRing α →+* R⦄ (h : ∀ x, f (of x) = g (of x)) : f = g 
Arguments: {α : Type u} {R : Type v} [Ring R] ⦃f g : FreeRing α →+* R⦄ (h : ∀ (x : α), f (FreeRing.of x) = g (FreeRing.of x))
Goal: f = g
-- FreeRing.map_of
@[simp]
theorem map_of (x : α) : map f (of x) = of (f x) 
Arguments: {α : Type u} {β : Type v} (f : α → β) (x : α)
Goal: (FreeRing.map f) (FreeRing.of x) = FreeRing.of (f x)
-- WfDvdMonoid.wellFounded_dvdNotUnit
class WfDvdMonoid (α : Type*) [CommMonoidWithZero α] : Prop where
  wellFounded_dvdNotUnit : WellFounded (@DvdNotUnit α _)
Arguments: {α : Type u_2} [CommMonoidWithZero α] [self : WfDvdMonoid α]
Goal: WellFounded DvdNotUnit
-- WfDvdMonoid.of_wfDvdMonoid_associates
theorem of_wfDvdMonoid_associates (_ : WfDvdMonoid (Associates α)) : WfDvdMonoid α 
Arguments: {α : Type u_1} [CommMonoidWithZero α]
Goal: WfDvdMonoid (Associates α) → WfDvdMonoid α
-- WfDvdMonoid.wellFounded_associates
theorem wellFounded_associates : WellFounded ((· < ·) : Associates α → Associates α → Prop) 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α]
Goal: WellFounded fun x x_1 => x < x_1
-- WfDvdMonoid.exists_irreducible_factor
theorem exists_irreducible_factor {a : α} (ha : ¬IsUnit a) (ha0 : a ≠ 0) :
    ∃ i, Irreducible i ∧ i ∣ a 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] {a : α} (ha : ¬IsUnit a) (ha0 : a ≠ 0)
Goal: ∃ i, Irreducible i ∧ i ∣ a
-- WfDvdMonoid.induction_on_irreducible
@[elab_as_elim]
theorem induction_on_irreducible {P : α → Prop} (a : α) (h0 : P 0) (hu : ∀ u : α, IsUnit u → P u)
    (hi : ∀ a i : α, a ≠ 0 → Irreducible i → P a → P (i * a)) : P a 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] {P : α → Prop} (a : α) (h0 : P 0) (hu : ∀ (u : α), IsUnit u → P u) (hi : ∀ (a i : α), a ≠ 0 → Irreducible i → P a → P (i * a))
Goal: P a
-- WfDvdMonoid.exists_factors
theorem exists_factors (a : α) :
    a ≠ 0 → ∃ f : Multiset α, (∀ b ∈ f, Irreducible b) ∧ Associated f.prod a 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] (a : α)
Goal: a ≠ 0 → ∃ f, (∀ b ∈ f, Irreducible b) ∧ f.prod ~ᵤ a
-- WfDvdMonoid.not_unit_iff_exists_factors_eq
theorem not_unit_iff_exists_factors_eq (a : α) (hn0 : a ≠ 0) :
    ¬IsUnit a ↔ ∃ f : Multiset α, (∀ b ∈ f, Irreducible b) ∧ f.prod = a ∧ f ≠ ∅ 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] (a : α) (hn0 : a ≠ 0)
Goal: ¬IsUnit a ↔ ∃ f, (∀ b ∈ f, Irreducible b) ∧ f.prod = a ∧ f ≠ ∅
-- WfDvdMonoid.isRelPrime_of_no_irreducible_factors
theorem isRelPrime_of_no_irreducible_factors {x y : α} (nonzero : ¬(x = 0 ∧ y = 0))
    (H : ∀ z : α, Irreducible z → z ∣ x → ¬z ∣ y) : IsRelPrime x y 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] {x y : α} (nonzero : ¬(x = 0 ∧ y = 0)) (H : ∀ (z : α), Irreducible z → z ∣ x → ¬z ∣ y)
Goal: IsRelPrime x y
-- WfDvdMonoid.of_wellFounded_associates
theorem WfDvdMonoid.of_wellFounded_associates [CancelCommMonoidWithZero α]
    (h : WellFounded ((· < ·) : Associates α → Associates α → Prop)) : WfDvdMonoid α 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (h : WellFounded fun x x_1 => x < x_1)
Goal: WfDvdMonoid α
-- WfDvdMonoid.iff_wellFounded_associates
theorem WfDvdMonoid.iff_wellFounded_associates [CancelCommMonoidWithZero α] :
    WfDvdMonoid α ↔ WellFounded ((· < ·) : Associates α → Associates α → Prop) 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α]
Goal: WfDvdMonoid α ↔ WellFounded fun x x_1 => x < x_1
-- WfDvdMonoid.max_power_factor'
theorem WfDvdMonoid.max_power_factor' [CommMonoidWithZero α] [WfDvdMonoid α] {a₀ x : α}
    (h : a₀ ≠ 0) (hx : ¬IsUnit x) : ∃ (n : ℕ) (a : α), ¬x ∣ a ∧ a₀ = x ^ n * a 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] {a₀ x : α} (h : a₀ ≠ 0) (hx : ¬IsUnit x)
Goal: ∃ n a, ¬x ∣ a ∧ a₀ = x ^ n * a
-- WfDvdMonoid.max_power_factor
theorem WfDvdMonoid.max_power_factor [CommMonoidWithZero α] [WfDvdMonoid α] {a₀ x : α}
    (h : a₀ ≠ 0) (hx : Irreducible x) : ∃ (n : ℕ) (a : α), ¬x ∣ a ∧ a₀ = x ^ n * a 
Arguments: {α : Type u_1} [CommMonoidWithZero α] [WfDvdMonoid α] {a₀ x : α} (h : a₀ ≠ 0) (hx : Irreducible x)
Goal: ∃ n a, ¬x ∣ a ∧ a₀ = x ^ n * a
-- multiplicity.finite_of_not_isUnit
theorem multiplicity.finite_of_not_isUnit [CancelCommMonoidWithZero α] [WfDvdMonoid α]
    {a b : α} (ha : ¬IsUnit a) (hb : b ≠ 0) : multiplicity.Finite a b 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [WfDvdMonoid α] {a b : α} (ha : ¬IsUnit a) (hb : b ≠ 0)
Goal: multiplicity.Finite a b
-- UniqueFactorizationMonoid.irreducible_iff_prime
class UniqueFactorizationMonoid (α : Type*) [CancelCommMonoidWithZero α] extends WfDvdMonoid α :
  Prop where
  protected irreducible_iff_prime : ∀ {a : α}, Irreducible a ↔ Prime a
Arguments: {α : Type u_2} [CancelCommMonoidWithZero α] [self : UniqueFactorizationMonoid α] {a : α}
Goal: Irreducible a ↔ Prime a
-- ufm_of_gcd_of_wfDvdMonoid
@[deprecated ufm_of_decomposition_of_wfDvdMonoid (since := "2024-02-12")]
theorem ufm_of_gcd_of_wfDvdMonoid [CancelCommMonoidWithZero α] [WfDvdMonoid α]
    [DecompositionMonoid α] : UniqueFactorizationMonoid α 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [WfDvdMonoid α] [DecompositionMonoid α]
Goal: UniqueFactorizationMonoid α
-- UniqueFactorizationMonoid.exists_prime_factors
theorem exists_prime_factors (a : α) :
    a ≠ 0 → ∃ f : Multiset α, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] (a : α)
Goal: a ≠ 0 → ∃ f, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a
-- UniqueFactorizationMonoid.exists_prime_iff
lemma exists_prime_iff :
    (∃ (p : α), Prime p) ↔ ∃ (x : α), x ≠ 0 ∧ ¬ IsUnit x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α]
Goal: (∃ p, Prime p) ↔ ∃ x, x ≠ 0 ∧ ¬IsUnit x
-- UniqueFactorizationMonoid.induction_on_prime
@[elab_as_elim]
theorem induction_on_prime {P : α → Prop} (a : α) (h₁ : P 0) (h₂ : ∀ x : α, IsUnit x → P x)
    (h₃ : ∀ a p : α, a ≠ 0 → Prime p → P a → P (p * a)) : P a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {P : α → Prop} (a : α) (h₁ : P 0) (h₂ : ∀ (x : α), IsUnit x → P x) (h₃ : ∀ (a p : α), a ≠ 0 → Prime p → P a → P (p * a))
Goal: P a
-- prime_factors_unique
theorem prime_factors_unique [CancelCommMonoidWithZero α] :
    ∀ {f g : Multiset α},
      (∀ x ∈ f, Prime x) → (∀ x ∈ g, Prime x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] {f g : Multiset α}
Goal: (∀ x ∈ f, Prime x) → (∀ x ∈ g, Prime x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g
-- UniqueFactorizationMonoid.factors_unique
theorem factors_unique {f g : Multiset α} (hf : ∀ x ∈ f, Irreducible x)
    (hg : ∀ x ∈ g, Irreducible x) (h : f.prod ~ᵤ g.prod) : Multiset.Rel Associated f g 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {f g : Multiset α} (hf : ∀ x ∈ f, Irreducible x) (hg : ∀ x ∈ g, Irreducible x) (h : f.prod ~ᵤ g.prod)
Goal: Multiset.Rel Associated f g
-- prime_factors_irreducible
theorem prime_factors_irreducible [CancelCommMonoidWithZero α] {a : α} {f : Multiset α}
    (ha : Irreducible a) (pfa : (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a) : ∃ p, a ~ᵤ p ∧ f = {p} 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] {a : α} {f : Multiset α} (ha : Irreducible a) (pfa : (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a)
Goal: ∃ p, a ~ᵤ p ∧ f = {p}
-- WfDvdMonoid.of_exists_prime_factors
theorem WfDvdMonoid.of_exists_prime_factors : WfDvdMonoid α 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (pf : ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a)
Goal: WfDvdMonoid α
-- irreducible_iff_prime_of_exists_prime_factors
theorem irreducible_iff_prime_of_exists_prime_factors {p : α} : Irreducible p ↔ Prime p 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (pf : ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a) {p : α}
Goal: Irreducible p ↔ Prime p
-- UniqueFactorizationMonoid.of_exists_prime_factors
theorem UniqueFactorizationMonoid.of_exists_prime_factors : UniqueFactorizationMonoid α 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (pf : ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a)
Goal: UniqueFactorizationMonoid α
-- UniqueFactorizationMonoid.iff_exists_prime_factors
theorem UniqueFactorizationMonoid.iff_exists_prime_factors [CancelCommMonoidWithZero α] :
    UniqueFactorizationMonoid α ↔
      ∀ a : α, a ≠ 0 → ∃ f : Multiset α, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α]
Goal: UniqueFactorizationMonoid α ↔ ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Prime b) ∧ f.prod ~ᵤ a
-- MulEquiv.uniqueFactorizationMonoid
theorem MulEquiv.uniqueFactorizationMonoid (e : α ≃* β) (hα : UniqueFactorizationMonoid α) :
    UniqueFactorizationMonoid β 
Arguments: {α : Type u_1} {β : Type u_2} [CancelCommMonoidWithZero α] [CancelCommMonoidWithZero β] (e : α ≃* β) (hα : UniqueFactorizationMonoid α)
Goal: UniqueFactorizationMonoid β
-- MulEquiv.uniqueFactorizationMonoid_iff
theorem MulEquiv.uniqueFactorizationMonoid_iff (e : α ≃* β) :
    UniqueFactorizationMonoid α ↔ UniqueFactorizationMonoid β 
Arguments: {α : Type u_1} {β : Type u_2} [CancelCommMonoidWithZero α] [CancelCommMonoidWithZero β] (e : α ≃* β)
Goal: UniqueFactorizationMonoid α ↔ UniqueFactorizationMonoid β
-- irreducible_iff_prime_of_exists_unique_irreducible_factors
theorem irreducible_iff_prime_of_exists_unique_irreducible_factors [CancelCommMonoidWithZero α]
    (eif : ∀ a : α, a ≠ 0 → ∃ f : Multiset α, (∀ b ∈ f, Irreducible b) ∧ f.prod ~ᵤ a)
    (uif :
      ∀ f g : Multiset α,
        (∀ x ∈ f, Irreducible x) →
          (∀ x ∈ g, Irreducible x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g)
    (p : α) : Irreducible p ↔ Prime p 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (eif : ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Irreducible b) ∧ f.prod ~ᵤ a) (uif :
  ∀ (f g : Multiset α),
    (∀ x ∈ f, Irreducible x) → (∀ x ∈ g, Irreducible x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g) (p : α)
Goal: Irreducible p ↔ Prime p
-- UniqueFactorizationMonoid.of_exists_unique_irreducible_factors
theorem UniqueFactorizationMonoid.of_exists_unique_irreducible_factors [CancelCommMonoidWithZero α]
    (eif : ∀ a : α, a ≠ 0 → ∃ f : Multiset α, (∀ b ∈ f, Irreducible b) ∧ f.prod ~ᵤ a)
    (uif :
      ∀ f g : Multiset α,
        (∀ x ∈ f, Irreducible x) →
          (∀ x ∈ g, Irreducible x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g) :
    UniqueFactorizationMonoid α 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] (eif : ∀ (a : α), a ≠ 0 → ∃ f, (∀ b ∈ f, Irreducible b) ∧ f.prod ~ᵤ a) (uif :
  ∀ (f g : Multiset α),
    (∀ x ∈ f, Irreducible x) → (∀ x ∈ g, Irreducible x) → f.prod ~ᵤ g.prod → Multiset.Rel Associated f g)
Goal: UniqueFactorizationMonoid α
-- UniqueFactorizationMonoid.factors_prod
theorem factors_prod {a : α} (ane0 : a ≠ 0) : Associated (factors a).prod a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {a : α} (ane0 : a ≠ 0)
Goal: (UniqueFactorizationMonoid.factors a).prod ~ᵤ a
-- UniqueFactorizationMonoid.factors_zero
@[simp]
theorem factors_zero : factors (0 : α) = 0 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α]
Goal: UniqueFactorizationMonoid.factors 0 = 0
-- UniqueFactorizationMonoid.ne_zero_of_mem_factors
theorem ne_zero_of_mem_factors {p a : α} (h : p ∈ factors a) : a ≠ 0 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {p a : α} (h : p ∈ UniqueFactorizationMonoid.factors a)
Goal: a ≠ 0
-- UniqueFactorizationMonoid.dvd_of_mem_factors
theorem dvd_of_mem_factors {p a : α} (h : p ∈ factors a) : p ∣ a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {p a : α} (h : p ∈ UniqueFactorizationMonoid.factors a)
Goal: p ∣ a
-- UniqueFactorizationMonoid.prime_of_factor
theorem prime_of_factor {a : α} (x : α) (hx : x ∈ factors a) : Prime x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {a : α} (x : α) (hx : x ∈ UniqueFactorizationMonoid.factors a)
Goal: Prime x
-- UniqueFactorizationMonoid.irreducible_of_factor
theorem irreducible_of_factor {a : α} : ∀ x : α, x ∈ factors a → Irreducible x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {a : α} (x : α)
Goal: x ∈ UniqueFactorizationMonoid.factors a → Irreducible x
-- UniqueFactorizationMonoid.factors_one
@[simp]
theorem factors_one : factors (1 : α) = 0 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α]
Goal: UniqueFactorizationMonoid.factors 1 = 0
-- UniqueFactorizationMonoid.exists_mem_factors_of_dvd
theorem exists_mem_factors_of_dvd {a p : α} (ha0 : a ≠ 0) (hp : Irreducible p) :
    p ∣ a → ∃ q ∈ factors a, p ~ᵤ q 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {a p : α} (ha0 : a ≠ 0) (hp : Irreducible p)
Goal: p ∣ a → ∃ q ∈ UniqueFactorizationMonoid.factors a, p ~ᵤ q
-- UniqueFactorizationMonoid.exists_mem_factors
theorem exists_mem_factors {x : α} (hx : x ≠ 0) (h : ¬IsUnit x) : ∃ p, p ∈ factors x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {x : α} (hx : x ≠ 0) (h : ¬IsUnit x)
Goal: ∃ p, p ∈ UniqueFactorizationMonoid.factors x
-- UniqueFactorizationMonoid.factors_mul
theorem factors_mul {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) :
    Multiset.Rel Associated (factors (x * y)) (factors x + factors y) 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0)
Goal: Multiset.Rel Associated (UniqueFactorizationMonoid.factors (x * y))
  (UniqueFactorizationMonoid.factors x + UniqueFactorizationMonoid.factors y)
-- UniqueFactorizationMonoid.factors_pow
theorem factors_pow {x : α} (n : ℕ) :
    Multiset.Rel Associated (factors (x ^ n)) (n • factors x) 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {x : α} (n : ℕ)
Goal: Multiset.Rel Associated (UniqueFactorizationMonoid.factors (x ^ n)) (n • UniqueFactorizationMonoid.factors x)
-- UniqueFactorizationMonoid.factors_pos
@[simp]
theorem factors_pos (x : α) (hx : x ≠ 0) : 0 < factors x ↔ ¬IsUnit x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] (x : α) (hx : x ≠ 0)
Goal: 0 < UniqueFactorizationMonoid.factors x ↔ ¬IsUnit x
-- UniqueFactorizationMonoid.factors_pow_count_prod
theorem factors_pow_count_prod [DecidableEq α] {x : α} (hx : x ≠ 0) :
    (∏ p ∈ (factors x).toFinset, p ^ (factors x).count p) ~ᵤ x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] [DecidableEq α] {x : α} (hx : x ≠ 0)
Goal: ∏ p ∈ (UniqueFactorizationMonoid.factors x).toFinset, p ^ Multiset.count p (UniqueFactorizationMonoid.factors x) ~ᵤ x
-- UniqueFactorizationMonoid.factors_eq_normalizedFactors
@[simp]
theorem factors_eq_normalizedFactors {M : Type*} [CancelCommMonoidWithZero M]
    [UniqueFactorizationMonoid M] [Unique Mˣ] (x : M) : factors x = normalizedFactors x 
Arguments: {M : Type u_2} [CancelCommMonoidWithZero M] [UniqueFactorizationMonoid M] [Unique Mˣ] (x : M)
Goal: UniqueFactorizationMonoid.factors x = UniqueFactorizationMonoid.normalizedFactors x
-- UniqueFactorizationMonoid.normalizedFactors_prod
theorem normalizedFactors_prod {a : α} (ane0 : a ≠ 0) :
    Associated (normalizedFactors a).prod a 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (ane0 : a ≠ 0)
Goal: (UniqueFactorizationMonoid.normalizedFactors a).prod ~ᵤ a
-- UniqueFactorizationMonoid.prime_of_normalized_factor
theorem prime_of_normalized_factor {a : α} : ∀ x : α, x ∈ normalizedFactors a → Prime x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α)
Goal: x ∈ UniqueFactorizationMonoid.normalizedFactors a → Prime x
-- UniqueFactorizationMonoid.irreducible_of_normalized_factor
theorem irreducible_of_normalized_factor {a : α} :
    ∀ x : α, x ∈ normalizedFactors a → Irreducible x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α)
Goal: x ∈ UniqueFactorizationMonoid.normalizedFactors a → Irreducible x
-- UniqueFactorizationMonoid.normalize_normalized_factor
theorem normalize_normalized_factor {a : α} :
    ∀ x : α, x ∈ normalizedFactors a → normalize x = x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (x : α)
Goal: x ∈ UniqueFactorizationMonoid.normalizedFactors a → normalize x = x
-- UniqueFactorizationMonoid.normalizedFactors_irreducible
theorem normalizedFactors_irreducible {a : α} (ha : Irreducible a) :
    normalizedFactors a = {normalize a} 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a : α} (ha : Irreducible a)
Goal: UniqueFactorizationMonoid.normalizedFactors a = {normalize a}
-- UniqueFactorizationMonoid.normalizedFactors_eq_of_dvd
theorem normalizedFactors_eq_of_dvd (a : α) :
    ∀ᵉ (p ∈ normalizedFactors a) (q ∈ normalizedFactors a), p ∣ q → p = q 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (a p : α)
Goal: p ∈ UniqueFactorizationMonoid.normalizedFactors a → ∀ q ∈ UniqueFactorizationMonoid.normalizedFactors a, p ∣ q → p = q
-- UniqueFactorizationMonoid.exists_mem_normalizedFactors_of_dvd
theorem exists_mem_normalizedFactors_of_dvd {a p : α} (ha0 : a ≠ 0) (hp : Irreducible p) :
    p ∣ a → ∃ q ∈ normalizedFactors a, p ~ᵤ q 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {a p : α} (ha0 : a ≠ 0) (hp : Irreducible p)
Goal: p ∣ a → ∃ q ∈ UniqueFactorizationMonoid.normalizedFactors a, p ~ᵤ q
-- UniqueFactorizationMonoid.exists_mem_normalizedFactors
theorem exists_mem_normalizedFactors {x : α} (hx : x ≠ 0) (h : ¬IsUnit x) :
    ∃ p, p ∈ normalizedFactors x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (hx : x ≠ 0) (h : ¬IsUnit x)
Goal: ∃ p, p ∈ UniqueFactorizationMonoid.normalizedFactors x
-- UniqueFactorizationMonoid.normalizedFactors_zero
@[simp]
theorem normalizedFactors_zero : normalizedFactors (0 : α) = 0 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α]
Goal: UniqueFactorizationMonoid.normalizedFactors 0 = 0
-- UniqueFactorizationMonoid.normalizedFactors_one
@[simp]
theorem normalizedFactors_one : normalizedFactors (1 : α) = 0 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α]
Goal: UniqueFactorizationMonoid.normalizedFactors 1 = 0
-- UniqueFactorizationMonoid.normalizedFactors_mul
@[simp]
theorem normalizedFactors_mul {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) :
    normalizedFactors (x * y) = normalizedFactors x + normalizedFactors y 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0)
Goal: UniqueFactorizationMonoid.normalizedFactors (x * y) =
  UniqueFactorizationMonoid.normalizedFactors x + UniqueFactorizationMonoid.normalizedFactors y
-- UniqueFactorizationMonoid.normalizedFactors_pow
@[simp]
theorem normalizedFactors_pow {x : α} (n : ℕ) :
    normalizedFactors (x ^ n) = n • normalizedFactors x 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x : α} (n : ℕ)
Goal: UniqueFactorizationMonoid.normalizedFactors (x ^ n) = n • UniqueFactorizationMonoid.normalizedFactors x
-- Irreducible.normalizedFactors_pow
theorem _root_.Irreducible.normalizedFactors_pow {p : α} (hp : Irreducible p) (k : ℕ) :
    normalizedFactors (p ^ k) = Multiset.replicate k (normalize p) 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p : α} (hp : Irreducible p) (k : ℕ)
Goal: UniqueFactorizationMonoid.normalizedFactors (p ^ k) = Multiset.replicate k (normalize p)
-- UniqueFactorizationMonoid.normalizedFactors_prod_eq
theorem normalizedFactors_prod_eq (s : Multiset α) (hs : ∀ a ∈ s, Irreducible a) :
    normalizedFactors s.prod = s.map normalize 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] (s : Multiset α) (hs : ∀ a ∈ s, Irreducible a)
Goal: UniqueFactorizationMonoid.normalizedFactors s.prod = Multiset.map (⇑normalize) s
-- UniqueFactorizationMonoid.dvd_iff_normalizedFactors_le_normalizedFactors
theorem dvd_iff_normalizedFactors_le_normalizedFactors {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) :
    x ∣ y ↔ normalizedFactors x ≤ normalizedFactors y 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0)
Goal: x ∣ y ↔ UniqueFactorizationMonoid.normalizedFactors x ≤ UniqueFactorizationMonoid.normalizedFactors y
-- UniqueFactorizationMonoid.associated_iff_normalizedFactors_eq_normalizedFactors
theorem associated_iff_normalizedFactors_eq_normalizedFactors {x y : α} (hx : x ≠ 0) (hy : y ≠ 0) :
    x ~ᵤ y ↔ normalizedFactors x = normalizedFactors y 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {x y : α} (hx : x ≠ 0) (hy : y ≠ 0)
Goal: x ~ᵤ y ↔ UniqueFactorizationMonoid.normalizedFactors x = UniqueFactorizationMonoid.normalizedFactors y
-- UniqueFactorizationMonoid.normalizedFactors_of_irreducible_pow
theorem normalizedFactors_of_irreducible_pow {p : α} (hp : Irreducible p) (k : ℕ) :
    normalizedFactors (p ^ k) = Multiset.replicate k (normalize p) 
Arguments: {α : Type u_1} [CancelCommMonoidWithZero α] [NormalizationMonoid α] [UniqueFactorizationMonoid α] {p : α} (hp : Irreducible p) (k : ℕ)
Goal: UniqueFactorizationMonoid.normalizedFactors (p ^ k) = Multiset.replicate k (normalize p)