ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Associates.le_singleton_iff
theorem Associates.le_singleton_iff (x : A) (n : ℕ) (I : Ideal A) :
    Associates.mk I ^ n ≤ Associates.mk (Ideal.span {x}) ↔ x ∈ I ^ n 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] (x : A) (n : ℕ) (I : Ideal A)
Goal: Associates.mk I ^ n ≤ Associates.mk (Ideal.span {x}) ↔ x ∈ I ^ n
-- FractionalIdeal.le_inv_comm
lemma FractionalIdeal.le_inv_comm {I J : FractionalIdeal A⁰ K} (hI : I ≠ 0) (hJ : J ≠ 0) :
    I ≤ J⁻¹ ↔ J ≤ I⁻¹ 
Arguments: {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDedekindDomain A] [Algebra A K] [IsFractionRing A K] {I J : FractionalIdeal A⁰ K} (hI : I ≠ 0) (hJ : J ≠ 0)
Goal: I ≤ J⁻¹ ↔ J ≤ I⁻¹
-- FractionalIdeal.inv_le_comm
lemma FractionalIdeal.inv_le_comm {I J : FractionalIdeal A⁰ K} (hI : I ≠ 0) (hJ : J ≠ 0) :
    I⁻¹ ≤ J ↔ J⁻¹ ≤ I 
Arguments: {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDedekindDomain A] [Algebra A K] [IsFractionRing A K] {I J : FractionalIdeal A⁰ K} (hI : I ≠ 0) (hJ : J ≠ 0)
Goal: I⁻¹ ≤ J ↔ J⁻¹ ≤ I
-- Ideal.exist_integer_multiples_not_mem
theorem Ideal.exist_integer_multiples_not_mem {J : Ideal A} (hJ : J ≠ ⊤) {ι : Type*} (s : Finset ι)
    (f : ι → K) {j} (hjs : j ∈ s) (hjf : f j ≠ 0) :
    ∃ a : K,
      (∀ i ∈ s, IsLocalization.IsInteger A (a * f i)) ∧
        ∃ i ∈ s, a * f i ∉ (J : FractionalIdeal A⁰ K) 
Arguments: {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDedekindDomain A] [Algebra A K] [IsFractionRing A K] {J : Ideal A} (hJ : J ≠ ⊤) {ι : Type u_4} (s : Finset ι) (f : ι → K) {j : ι} (hjs : j ∈ s) (hjf : f j ≠ 0)
Goal: ∃ a, (∀ i ∈ s, IsLocalization.IsInteger A (a * f i)) ∧ ∃ i ∈ s, a * f i ∉ ↑J
-- Ideal.sup_mul_inf
@[simp]
theorem sup_mul_inf (I J : Ideal A) : (I ⊔ J) * (I ⊓ J) = I * J 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] (I J : Ideal A)
Goal: (I ⊔ J) * (I ⊓ J) = I * J
-- Ideal.gcd_eq_sup
@[simp]
theorem gcd_eq_sup (I J : Ideal A) : gcd I J = I ⊔ J 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] (I J : Ideal A)
Goal: gcd I J = I ⊔ J
-- Ideal.lcm_eq_inf
@[simp]
theorem lcm_eq_inf (I J : Ideal A) : lcm I J = I ⊓ J 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] (I J : Ideal A)
Goal: lcm I J = I ⊓ J
-- Ideal.isCoprime_iff_gcd
theorem isCoprime_iff_gcd {I J : Ideal A} : IsCoprime I J ↔ gcd I J = 1 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] {I J : Ideal A}
Goal: IsCoprime I J ↔ gcd I J = 1
-- Ideal.factors_span_eq
theorem factors_span_eq {p : K[X]} : factors (span {p}) = (factors p).map (fun q ↦ span {q}) 
Arguments: {K : Type u_3} [Field K] {p : K[X]}
Goal: UniqueFactorizationMonoid.factors (Ideal.span {p}) =
  Multiset.map (fun q => Ideal.span {q}) (UniqueFactorizationMonoid.factors p)
-- prod_normalizedFactors_eq_self
theorem prod_normalizedFactors_eq_self (hI : I ≠ ⊥) : (normalizedFactors I).prod = I 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I : Ideal T} (hI : I ≠ ⊥)
Goal: (UniqueFactorizationMonoid.normalizedFactors I).prod = I
-- count_le_of_ideal_ge
theorem count_le_of_ideal_ge {I J : Ideal T} (h : I ≤ J) (hI : I ≠ ⊥) (K : Ideal T) :
    count K (normalizedFactors J) ≤ count K (normalizedFactors I) 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I J : Ideal T} (h : I ≤ J) (hI : I ≠ ⊥) (K : Ideal T)
Goal: Multiset.count K (UniqueFactorizationMonoid.normalizedFactors J) ≤
  Multiset.count K (UniqueFactorizationMonoid.normalizedFactors I)
-- sup_eq_prod_inf_factors
theorem sup_eq_prod_inf_factors (hI : I ≠ ⊥) (hJ : J ≠ ⊥) :
    I ⊔ J = (normalizedFactors I ∩ normalizedFactors J).prod 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I J : Ideal T} (hI : I ≠ ⊥) (hJ : J ≠ ⊥)
Goal: I ⊔ J = (UniqueFactorizationMonoid.normalizedFactors I ∩ UniqueFactorizationMonoid.normalizedFactors J).prod
-- irreducible_pow_sup
theorem irreducible_pow_sup (hI : I ≠ ⊥) (hJ : Irreducible J) (n : ℕ) :
    J ^ n ⊔ I = J ^ min ((normalizedFactors I).count J) n 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I J : Ideal T} (hI : I ≠ ⊥) (hJ : Irreducible J) (n : ℕ)
Goal: J ^ n ⊔ I = J ^ min (Multiset.count J (UniqueFactorizationMonoid.normalizedFactors I)) n
-- irreducible_pow_sup_of_le
theorem irreducible_pow_sup_of_le (hJ : Irreducible J) (n : ℕ) (hn : ↑n ≤ multiplicity J I) :
    J ^ n ⊔ I = J ^ n 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I J : Ideal T} (hJ : Irreducible J) (n : ℕ) (hn : ↑n ≤ multiplicity J I)
Goal: J ^ n ⊔ I = J ^ n
-- irreducible_pow_sup_of_ge
theorem irreducible_pow_sup_of_ge (hI : I ≠ ⊥) (hJ : Irreducible J) (n : ℕ)
    (hn : multiplicity J I ≤ n) :
    J ^ n ⊔ I = J ^ (multiplicity J I).get (PartENat.dom_of_le_natCast hn) 
Arguments: {T : Type u_4} [CommRing T] [IsDedekindDomain T] {I J : Ideal T} (hI : I ≠ ⊥) (hJ : Irreducible J) (n : ℕ) (hn : multiplicity J I ≤ ↑n)
Goal: J ^ n ⊔ I = J ^ (multiplicity J I).get ⋯
-- IsDedekindDomain.HeightOneSpectrum.ne_bot
-- Porting note(#5171): removed `has_nonempty_instance`, linter doesn't exist yet
@[ext, nolint unusedArguments]
structure HeightOneSpectrum where
  asIdeal : Ideal R
  isPrime : asIdeal.IsPrime
  ne_bot : asIdeal ≠ ⊥
Arguments: {R : Type u_1} [CommRing R] (self : IsDedekindDomain.HeightOneSpectrum R)
Goal: self.asIdeal ≠ ⊥
-- IsDedekindDomain.HeightOneSpectrum.isPrime
-- Porting note(#5171): removed `has_nonempty_instance`, linter doesn't exist yet
@[ext, nolint unusedArguments]
structure HeightOneSpectrum where
  asIdeal : Ideal R
  isPrime : asIdeal.IsPrime
  ne_bot : asIdeal ≠ ⊥
Arguments: {R : Type u_1} [CommRing R] (self : IsDedekindDomain.HeightOneSpectrum R)
Goal: self.asIdeal.IsPrime
-- IsDedekindDomain.HeightOneSpectrum.prime
theorem prime : Prime v.asIdeal 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] (v : IsDedekindDomain.HeightOneSpectrum R)
Goal: Prime v.asIdeal
-- IsDedekindDomain.HeightOneSpectrum.irreducible
theorem irreducible : Irreducible v.asIdeal 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] (v : IsDedekindDomain.HeightOneSpectrum R)
Goal: Irreducible v.asIdeal
-- IsDedekindDomain.HeightOneSpectrum.associates_irreducible
theorem associates_irreducible : Irreducible <| Associates.mk v.asIdeal 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] (v : IsDedekindDomain.HeightOneSpectrum R)
Goal: Irreducible (Associates.mk v.asIdeal)
-- IsDedekindDomain.HeightOneSpectrum.iInf_localization_eq_bot
theorem iInf_localization_eq_bot [Algebra R K] [hK : IsFractionRing R K] :
    (⨅ v : HeightOneSpectrum R,
        Localization.subalgebra.ofField K _ v.asIdeal.primeCompl_le_nonZeroDivisors) = ⊥ 
Arguments: (R : Type u_1) (K : Type u_3) [CommRing R] [Field K] [IsDedekindDomain R] [Algebra R K] [hK : IsFractionRing R K]
Goal: ⨅ v, Localization.subalgebra.ofField K v.asIdeal.primeCompl ⋯ = ⊥
-- idealFactorsFunOfQuotHom_coe_coe
@[simps] -- Porting note: use `Subtype` instead of `Set` to make linter happy
def idealFactorsFunOfQuotHom {f : R ⧸ I →+* A ⧸ J} (hf : Function.Surjective f) :
    {p : Ideal R // p ∣ I} →o {p : Ideal A // p ∣ J} 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} {f : R ⧸ I →+* A ⧸ J} (hf : Function.Surjective ⇑f) (X : { p // p ∣ I })
Goal: ↑((idealFactorsFunOfQuotHom hf) X) =
  Ideal.comap (Ideal.Quotient.mk J) (Ideal.map f (Ideal.map (Ideal.Quotient.mk I) ↑X))
-- idealFactorsFunOfQuotHom_id
@[simp]
theorem idealFactorsFunOfQuotHom_id :
    idealFactorsFunOfQuotHom (RingHom.id (A ⧸ J)).surjective = OrderHom.id 
Arguments: {A : Type u_2} [CommRing A] [IsDedekindDomain A] {J : Ideal A}
Goal: idealFactorsFunOfQuotHom ⋯ = OrderHom.id
-- idealFactorsFunOfQuotHom_comp
theorem idealFactorsFunOfQuotHom_comp {f : R ⧸ I →+* A ⧸ J} {g : A ⧸ J →+* B ⧸ L}
    (hf : Function.Surjective f) (hg : Function.Surjective g) :
    (idealFactorsFunOfQuotHom hg).comp (idealFactorsFunOfQuotHom hf) =
      idealFactorsFunOfQuotHom (show Function.Surjective (g.comp f) from hg.comp hf) 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} {B : Type u_4} [CommRing B] [IsDedekindDomain B] {L : Ideal B} {f : R ⧸ I →+* A ⧸ J} {g : A ⧸ J →+* B ⧸ L} (hf : Function.Surjective ⇑f) (hg : Function.Surjective ⇑g)
Goal: (idealFactorsFunOfQuotHom hg).comp (idealFactorsFunOfQuotHom hf) = idealFactorsFunOfQuotHom ⋯
-- idealFactorsEquivOfQuotEquiv_symm
theorem idealFactorsEquivOfQuotEquiv_symm :
    (idealFactorsEquivOfQuotEquiv f).symm = idealFactorsEquivOfQuotEquiv f.symm 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} [IsDedekindDomain R] (f : R ⧸ I ≃+* A ⧸ J)
Goal: (idealFactorsEquivOfQuotEquiv f).symm = idealFactorsEquivOfQuotEquiv f.symm
-- idealFactorsEquivOfQuotEquiv_is_dvd_iso
theorem idealFactorsEquivOfQuotEquiv_is_dvd_iso {L M : Ideal R} (hL : L ∣ I) (hM : M ∣ I) :
    (idealFactorsEquivOfQuotEquiv f ⟨L, hL⟩ : Ideal A) ∣ idealFactorsEquivOfQuotEquiv f ⟨M, hM⟩ ↔
      L ∣ M 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} [IsDedekindDomain R] (f : R ⧸ I ≃+* A ⧸ J) {L M : Ideal R} (hL : L ∣ I) (hM : M ∣ I)
Goal: ↑((idealFactorsEquivOfQuotEquiv f) ⟨L, hL⟩) ∣ ↑((idealFactorsEquivOfQuotEquiv f) ⟨M, hM⟩) ↔ L ∣ M
-- idealFactorsEquivOfQuotEquiv_mem_normalizedFactors_of_mem_normalizedFactors
theorem idealFactorsEquivOfQuotEquiv_mem_normalizedFactors_of_mem_normalizedFactors (hJ : J ≠ ⊥)
    {L : Ideal R} (hL : L ∈ normalizedFactors I) :
    ↑(idealFactorsEquivOfQuotEquiv f ⟨L, dvd_of_mem_normalizedFactors hL⟩)
      ∈ normalizedFactors J 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} [IsDedekindDomain R] (f : R ⧸ I ≃+* A ⧸ J) (hJ : J ≠ ⊥) {L : Ideal R} (hL : L ∈ UniqueFactorizationMonoid.normalizedFactors I)
Goal: ↑((idealFactorsEquivOfQuotEquiv f) ⟨L, ⋯⟩) ∈ UniqueFactorizationMonoid.normalizedFactors J
-- normalizedFactorsEquivOfQuotEquiv_symm
@[simp]
theorem normalizedFactorsEquivOfQuotEquiv_symm (hI : I ≠ ⊥) (hJ : J ≠ ⊥) :
    (normalizedFactorsEquivOfQuotEquiv f hI hJ).symm =
      normalizedFactorsEquivOfQuotEquiv f.symm hJ hI 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} [IsDedekindDomain R] (f : R ⧸ I ≃+* A ⧸ J) (hI : I ≠ ⊥) (hJ : J ≠ ⊥)
Goal: (normalizedFactorsEquivOfQuotEquiv f hI hJ).symm = normalizedFactorsEquivOfQuotEquiv f.symm hJ hI
-- normalizedFactorsEquivOfQuotEquiv_multiplicity_eq_multiplicity
theorem normalizedFactorsEquivOfQuotEquiv_multiplicity_eq_multiplicity (hI : I ≠ ⊥) (hJ : J ≠ ⊥)
    (L : Ideal R) (hL : L ∈ normalizedFactors I) :
    multiplicity (↑(normalizedFactorsEquivOfQuotEquiv f hI hJ ⟨L, hL⟩)) J = multiplicity L I 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] {I : Ideal R} {J : Ideal A} [IsDedekindDomain R] (f : R ⧸ I ≃+* A ⧸ J) [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] (hI : I ≠ ⊥) (hJ : J ≠ ⊥) (L : Ideal R) (hL : L ∈ UniqueFactorizationMonoid.normalizedFactors I)
Goal: multiplicity (↑((normalizedFactorsEquivOfQuotEquiv f hI hJ) ⟨L, hL⟩)) J = multiplicity L I
-- Ring.DimensionLeOne.prime_le_prime_iff_eq
theorem Ring.DimensionLeOne.prime_le_prime_iff_eq [Ring.DimensionLEOne R] {P Q : Ideal R}
    [hP : P.IsPrime] [hQ : Q.IsPrime] (hP0 : P ≠ ⊥) : P ≤ Q ↔ P = Q 
Arguments: {R : Type u_1} [CommRing R] [Ring.DimensionLEOne R] {P Q : Ideal R} [hP : P.IsPrime] [hQ : Q.IsPrime] (hP0 : P ≠ ⊥)
Goal: P ≤ Q ↔ P = Q
-- Ideal.coprime_of_no_prime_ge
theorem Ideal.coprime_of_no_prime_ge {I J : Ideal R} (h : ∀ P, I ≤ P → J ≤ P → ¬IsPrime P) :
    IsCoprime I J 
Arguments: {R : Type u_1} [CommRing R] {I J : Ideal R} (h : ∀ (P : Ideal R), I ≤ P → J ≤ P → ¬P.IsPrime)
Goal: IsCoprime I J
-- Ideal.IsPrime.mul_mem_pow
theorem Ideal.IsPrime.mul_mem_pow (I : Ideal R) [hI : I.IsPrime] {a b : R} {n : ℕ}
    (h : a * b ∈ I ^ n) : a ∈ I ∨ b ∈ I ^ n 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] (I : Ideal R) [hI : I.IsPrime] {a b : R} {n : ℕ} (h : a * b ∈ I ^ n)
Goal: a ∈ I ∨ b ∈ I ^ n
-- Ideal.IsPrime.mem_pow_mul
theorem Ideal.IsPrime.mem_pow_mul (I : Ideal R) [hI : I.IsPrime] {a b : R} {n : ℕ}
    (h : a * b ∈ I ^ n) : a ∈ I ^ n ∨ b ∈ I 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] (I : Ideal R) [hI : I.IsPrime] {a b : R} {n : ℕ} (h : a * b ∈ I ^ n)
Goal: a ∈ I ^ n ∨ b ∈ I
-- Ideal.count_normalizedFactors_eq
theorem Ideal.count_normalizedFactors_eq {p x : Ideal R} [hp : p.IsPrime] {n : ℕ} (hle : x ≤ p ^ n)
    [DecidableEq (Ideal R)] (hlt : ¬x ≤ p ^ (n + 1)) : (normalizedFactors x).count p = n 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {p x : Ideal R} [hp : p.IsPrime] {n : ℕ} (hle : x ≤ p ^ n) [DecidableEq (Ideal R)] (hlt : ¬x ≤ p ^ (n + 1))
Goal: Multiset.count p (UniqueFactorizationMonoid.normalizedFactors x) = n
-- Ideal.le_mul_of_no_prime_factors
theorem Ideal.le_mul_of_no_prime_factors {I J K : Ideal R}
    (coprime : ∀ P, J ≤ P → K ≤ P → ¬IsPrime P) (hJ : I ≤ J) (hK : I ≤ K) : I ≤ J * K 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {I J K : Ideal R} (coprime : ∀ (P : Ideal R), J ≤ P → K ≤ P → ¬P.IsPrime) (hJ : I ≤ J) (hK : I ≤ K)
Goal: I ≤ J * K
-- Ideal.le_of_pow_le_prime
theorem Ideal.le_of_pow_le_prime {I P : Ideal R} [hP : P.IsPrime] {n : ℕ} (h : I ^ n ≤ P) :
    I ≤ P 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {I P : Ideal R} [hP : P.IsPrime] {n : ℕ} (h : I ^ n ≤ P)
Goal: I ≤ P
-- Ideal.pow_le_prime_iff
theorem Ideal.pow_le_prime_iff {I P : Ideal R} [_hP : P.IsPrime] {n : ℕ} (hn : n ≠ 0) :
    I ^ n ≤ P ↔ I ≤ P 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {I P : Ideal R} [_hP : P.IsPrime] {n : ℕ} (hn : n ≠ 0)
Goal: I ^ n ≤ P ↔ I ≤ P
-- Ideal.prod_le_prime
theorem Ideal.prod_le_prime {ι : Type*} {s : Finset ι} {f : ι → Ideal R} {P : Ideal R}
    [hP : P.IsPrime] : ∏ i ∈ s, f i ≤ P ↔ ∃ i ∈ s, f i ≤ P 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {ι : Type u_4} {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} [hP : P.IsPrime]
Goal: ∏ i ∈ s, f i ≤ P ↔ ∃ i ∈ s, f i ≤ P
-- IsDedekindDomain.inf_prime_pow_eq_prod
theorem IsDedekindDomain.inf_prime_pow_eq_prod {ι : Type*} (s : Finset ι) (f : ι → Ideal R)
    (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (f i))
    (coprime : ∀ᵉ (i ∈ s) (j ∈ s), i ≠ j → f i ≠ f j) :
    (s.inf fun i => f i ^ e i) = ∏ i ∈ s, f i ^ e i 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {ι : Type u_4} (s : Finset ι) (f : ι → Ideal R) (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (f i)) (coprime : ∀ i ∈ s, ∀ j ∈ s, i ≠ j → f i ≠ f j)
Goal: (s.inf fun i => f i ^ e i) = ∏ i ∈ s, f i ^ e i
-- IsDedekindDomain.quotientEquivPiFactors_mk
@[simp]
theorem IsDedekindDomain.quotientEquivPiFactors_mk {I : Ideal R} (hI : I ≠ ⊥) (x : R) :
    IsDedekindDomain.quotientEquivPiFactors hI (Ideal.Quotient.mk I x) = fun _P =>
      Ideal.Quotient.mk _ x 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {I : Ideal R} (hI : I ≠ ⊥) (x : R)
Goal: (IsDedekindDomain.quotientEquivPiFactors hI) ((Ideal.Quotient.mk I) x) = fun _P =>
  (Ideal.Quotient.mk (↑_P ^ Multiset.count (↑_P) (UniqueFactorizationMonoid.factors I))) x
-- IsDedekindDomain.exists_representative_mod_finset
theorem IsDedekindDomain.exists_representative_mod_finset {ι : Type*} {s : Finset ι}
    (P : ι → Ideal R) (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (P i))
    (coprime : ∀ᵉ (i ∈ s) (j ∈ s), i ≠ j → P i ≠ P j) (x : ∀ i : s, R ⧸ P i ^ e i) :
    ∃ y, ∀ (i) (hi : i ∈ s), Ideal.Quotient.mk (P i ^ e i) y = x ⟨i, hi⟩ 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {ι : Type u_4} {s : Finset ι} (P : ι → Ideal R) (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (P i)) (coprime : ∀ i ∈ s, ∀ j ∈ s, i ≠ j → P i ≠ P j) (x : (i : { x // x ∈ s }) → R ⧸ P ↑i ^ e ↑i)
Goal: ∃ y, ∀ (i : ι) (hi : i ∈ s), (Ideal.Quotient.mk (P i ^ e i)) y = x ⟨i, hi⟩
-- IsDedekindDomain.exists_forall_sub_mem_ideal
theorem IsDedekindDomain.exists_forall_sub_mem_ideal {ι : Type*} {s : Finset ι} (P : ι → Ideal R)
    (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (P i))
    (coprime : ∀ᵉ (i ∈ s) (j ∈ s), i ≠ j → P i ≠ P j) (x : s → R) :
    ∃ y, ∀ (i) (hi : i ∈ s), y - x ⟨i, hi⟩ ∈ P i ^ e i 
Arguments: {R : Type u_1} [CommRing R] [IsDedekindDomain R] {ι : Type u_4} {s : Finset ι} (P : ι → Ideal R) (e : ι → ℕ) (prime : ∀ i ∈ s, Prime (P i)) (coprime : ∀ i ∈ s, ∀ j ∈ s, i ≠ j → P i ≠ P j) (x : { x // x ∈ s } → R)
Goal: ∃ y, ∀ (i : ι) (hi : i ∈ s), y - x ⟨i, hi⟩ ∈ P i ^ e i
-- span_singleton_dvd_span_singleton_iff_dvd
theorem span_singleton_dvd_span_singleton_iff_dvd {a b : R} :
    Ideal.span {a} ∣ Ideal.span ({b} : Set R) ↔ a ∣ b 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] {a b : R}
Goal: Ideal.span {a} ∣ Ideal.span {b} ↔ a ∣ b
-- Ideal.squarefree_span_singleton
@[simp]
theorem Ideal.squarefree_span_singleton {a : R} :
    Squarefree (span {a}) ↔ Squarefree a 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] {a : R}
Goal: Squarefree (Ideal.span {a}) ↔ Squarefree a
-- singleton_span_mem_normalizedFactors_of_mem_normalizedFactors
theorem singleton_span_mem_normalizedFactors_of_mem_normalizedFactors [NormalizationMonoid R]
    {a b : R} (ha : a ∈ normalizedFactors b) :
    Ideal.span ({a} : Set R) ∈ normalizedFactors (Ideal.span ({b} : Set R)) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] {a b : R} (ha : a ∈ UniqueFactorizationMonoid.normalizedFactors b)
Goal: Ideal.span {a} ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {b})
-- multiplicity_eq_multiplicity_span
theorem multiplicity_eq_multiplicity_span [DecidableRel ((· ∣ ·) : R → R → Prop)]
    [DecidableRel ((· ∣ ·) : Ideal R → Ideal R → Prop)] {a b : R} :
    multiplicity (Ideal.span {a}) (Ideal.span ({b} : Set R)) = multiplicity a b 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] {a b : R}
Goal: multiplicity (Ideal.span {a}) (Ideal.span {b}) = multiplicity a b
-- multiplicity_normalizedFactorsEquivSpanNormalizedFactors_eq_multiplicity
theorem multiplicity_normalizedFactorsEquivSpanNormalizedFactors_eq_multiplicity {r d : R}
    (hr : r ≠ 0) (hd : d ∈ normalizedFactors r) :
    multiplicity d r =
      multiplicity (normalizedFactorsEquivSpanNormalizedFactors hr ⟨d, hd⟩ : Ideal R)
        (Ideal.span {r}) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] {r d : R} (hr : r ≠ 0) (hd : d ∈ UniqueFactorizationMonoid.normalizedFactors r)
Goal: multiplicity d r = multiplicity (↑((normalizedFactorsEquivSpanNormalizedFactors hr) ⟨d, hd⟩)) (Ideal.span {r})
-- multiplicity_normalizedFactorsEquivSpanNormalizedFactors_symm_eq_multiplicity
theorem multiplicity_normalizedFactorsEquivSpanNormalizedFactors_symm_eq_multiplicity {r : R}
    (hr : r ≠ 0) (I : { I : Ideal R | I ∈ normalizedFactors (Ideal.span ({r} : Set R)) }) :
    multiplicity ((normalizedFactorsEquivSpanNormalizedFactors hr).symm I : R) r =
      multiplicity (I : Ideal R) (Ideal.span {r}) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [NormalizationMonoid R] [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] {r : R} (hr : r ≠ 0) (I : ↑{I | I ∈ UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})})
Goal: multiplicity (↑((normalizedFactorsEquivSpanNormalizedFactors hr).symm I)) r = multiplicity (↑I) (Ideal.span {r})
-- count_span_normalizedFactors_eq
theorem count_span_normalizedFactors_eq {r X : R} (hr : r ≠ 0) (hX : Prime X) :
    Multiset.count (Ideal.span {X} : Ideal R) (normalizedFactors (Ideal.span {r}))  =
        Multiset.count (normalize X) (normalizedFactors r) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [DecidableEq R] [DecidableEq (Ideal R)] [NormalizationMonoid R] [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] {r X : R} (hr : r ≠ 0) (hX : Prime X)
Goal: Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) =
  Multiset.count (normalize X) (UniqueFactorizationMonoid.normalizedFactors r)
-- count_span_normalizedFactors_eq_of_normUnit
theorem count_span_normalizedFactors_eq_of_normUnit {r X : R}
    (hr : r ≠ 0) (hX₁ : normUnit X = 1) (hX : Prime X) :
      Multiset.count (Ideal.span {X} : Ideal R) (normalizedFactors (Ideal.span {r})) =
        Multiset.count X (normalizedFactors r) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [DecidableEq R] [DecidableEq (Ideal R)] [NormalizationMonoid R] [DecidableRel fun x x_1 => x ∣ x_1] [DecidableRel fun x x_1 => x ∣ x_1] {r X : R} (hr : r ≠ 0) (hX₁ : normUnit X = 1) (hX : Prime X)
Goal: Multiset.count (Ideal.span {X}) (UniqueFactorizationMonoid.normalizedFactors (Ideal.span {r})) =
  Multiset.count X (UniqueFactorizationMonoid.normalizedFactors r)
-- count_associates_factors_eq
theorem count_associates_factors_eq [DecidableEq <| Associates (Ideal R)]
    [∀ (p : Associates <| Ideal R), Decidable (Irreducible p)]
    (I J : Ideal R) (hI : I ≠ 0) (hJ : J.IsPrime) (hJ₀ : J ≠ ⊥) :
    (Associates.mk J).count (Associates.mk I).factors = Multiset.count J (normalizedFactors I) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [DecidableEq (Ideal R)] [DecidableEq (Associates (Ideal R))] [(p : Associates (Ideal R)) → Decidable (Irreducible p)] (I J : Ideal R) (hI : I ≠ 0) (hJ : J.IsPrime) (hJ₀ : J ≠ ⊥)
Goal: (Associates.mk J).count (Associates.mk I).factors = Multiset.count J (UniqueFactorizationMonoid.normalizedFactors I)
-- Submodule.finrank_quotient_add_finrank
theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V) :
    finrank K (V ⧸ s) + finrank K s = finrank K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (s : Submodule K V)
Goal: FiniteDimensional.finrank K (V ⧸ s) + FiniteDimensional.finrank K ↥s = FiniteDimensional.finrank K V
-- Submodule.finrank_lt
theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
    finrank K s < finrank K V 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤)
Goal: FiniteDimensional.finrank K ↥s < FiniteDimensional.finrank K V
-- Submodule.finrank_sup_add_finrank_inf_eq
theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
    [FiniteDimensional K t] :
    finrank K ↑(s ⊔ t) + finrank K ↑(s ⊓ t) = finrank K ↑s + finrank K ↑t 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] (s t : Submodule K V) [FiniteDimensional K ↥s] [FiniteDimensional K ↥t]
Goal: FiniteDimensional.finrank K ↥(s ⊔ t) + FiniteDimensional.finrank K ↥(s ⊓ t) =
  FiniteDimensional.finrank K ↥s + FiniteDimensional.finrank K ↥t
-- Submodule.finrank_add_le_finrank_add_finrank
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
    [FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] (s t : Submodule K V) [FiniteDimensional K ↥s] [FiniteDimensional K ↥t]
Goal: FiniteDimensional.finrank K ↥(s ⊔ t) ≤ FiniteDimensional.finrank K ↥s + FiniteDimensional.finrank K ↥t
-- Submodule.eq_top_of_disjoint
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
    (hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ 
Arguments: {K : Type u} {V : Type v} [DivisionRing K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (s t : Submodule K V) (hdim : FiniteDimensional.finrank K ↥s + FiniteDimensional.finrank K ↥t = FiniteDimensional.finrank K V) (hdisjoint : Disjoint s t)
Goal: s ⊔ t = ⊤