ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Ideal.sum_eq_sup
@[simp]
theorem sum_eq_sup {ι : Type*} (s : Finset ι) (f : ι → Ideal R) : s.sum f = s.sup f 
Arguments: {R : Type u} [Semiring R] {ι : Type u_1} (s : Finset ι) (f : ι → Ideal R)
Goal: s.sum f = s.sup f
-- Ideal.one_eq_top
@[simp]
theorem one_eq_top : (1 : Ideal R) = ⊤ 
Arguments: {R : Type u} [CommSemiring R]
Goal: 1 = ⊤
-- Ideal.add_eq_one_iff
theorem add_eq_one_iff : I + J = 1 ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I + J = 1 ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1
-- Ideal.mul_mem_mul
theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} {r s : R} (hr : r ∈ I) (hs : s ∈ J)
Goal: r * s ∈ I * J
-- Ideal.mul_mem_mul_rev
theorem mul_mem_mul_rev {r s} (hr : r ∈ I) (hs : s ∈ J) : s * r ∈ I * J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} {r s : R} (hr : r ∈ I) (hs : s ∈ J)
Goal: s * r ∈ I * J
-- Ideal.pow_mem_pow
theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} {x : R} (hx : x ∈ I) (n : ℕ)
Goal: x ^ n ∈ I ^ n
-- Ideal.prod_mem_prod
theorem prod_mem_prod {ι : Type*} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
    (∀ i ∈ s, x i ∈ I i) → (∏ i ∈ s, x i) ∈ ∏ i ∈ s, I i 
Arguments: {R : Type u} [CommSemiring R] {ι : Type u_2} {s : Finset ι} {I : ι → Ideal R} {x : ι → R}
Goal: (∀ i ∈ s, x i ∈ I i) → ∏ i ∈ s, x i ∈ ∏ i ∈ s, I i
-- Ideal.mul_le
theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R}
Goal: I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K
-- Ideal.mul_le_left
theorem mul_le_left : I * J ≤ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I * J ≤ J
-- Ideal.mul_le_right
theorem mul_le_right : I * J ≤ I 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I * J ≤ I
-- Ideal.sup_mul_right_self
@[simp]
theorem sup_mul_right_self : I ⊔ I * J = I 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I ⊔ I * J = I
-- Ideal.sup_mul_left_self
@[simp]
theorem sup_mul_left_self : I ⊔ J * I = I 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I ⊔ J * I = I
-- Ideal.mul_right_self_sup
@[simp]
theorem mul_right_self_sup : I * J ⊔ I = I 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I * J ⊔ I = I
-- Ideal.mul_left_self_sup
@[simp]
theorem mul_left_self_sup : J * I ⊔ I = I 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: J * I ⊔ I = I
-- Ideal.mul_comm
protected theorem mul_comm : I * J = J * I 
Arguments: {R : Type u} [CommSemiring R] (I J : Ideal R)
Goal: I * J = J * I
-- Ideal.mul_assoc
protected theorem mul_assoc : I * J * K = I * (J * K) 
Arguments: {R : Type u} [CommSemiring R] (I J K : Ideal R)
Goal: I * J * K = I * (J * K)
-- Ideal.span_mul_span
theorem span_mul_span (S T : Set R) : span S * span T = span (⋃ (s ∈ S) (t ∈ T), {s * t}) 
Arguments: {R : Type u} [CommSemiring R] (S T : Set R)
Goal: Ideal.span S * Ideal.span T = Ideal.span (⋃ s ∈ S, ⋃ t ∈ T, {s * t})
-- Ideal.span_mul_span'
theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) 
Arguments: {R : Type u} [CommSemiring R] (S T : Set R)
Goal: Ideal.span S * Ideal.span T = Ideal.span (S * T)
-- Ideal.span_singleton_mul_span_singleton
theorem span_singleton_mul_span_singleton (r s : R) :
    span {r} * span {s} = (span {r * s} : Ideal R) 
Arguments: {R : Type u} [CommSemiring R] (r s : R)
Goal: Ideal.span {r} * Ideal.span {s} = Ideal.span {r * s}
-- Ideal.span_singleton_pow
theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Ideal R) 
Arguments: {R : Type u} [CommSemiring R] (s : R) (n : ℕ)
Goal: Ideal.span {s} ^ n = Ideal.span {s ^ n}
-- Ideal.mem_mul_span_singleton
theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔ ∃ z ∈ I, z * y = x 
Arguments: {R : Type u} [CommSemiring R] {x y : R} {I : Ideal R}
Goal: x ∈ I * Ideal.span {y} ↔ ∃ z ∈ I, z * y = x
-- Ideal.mem_span_singleton_mul
theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔ ∃ z ∈ I, y * z = x 
Arguments: {R : Type u} [CommSemiring R] {x y : R} {I : Ideal R}
Goal: x ∈ Ideal.span {y} * I ↔ ∃ z ∈ I, y * z = x
-- Ideal.le_span_singleton_mul_iff
theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
    I ≤ span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI 
Arguments: {R : Type u} [CommSemiring R] {x : R} {I J : Ideal R}
Goal: I ≤ Ideal.span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI
-- Ideal.span_singleton_mul_le_iff
theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} :
    span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J 
Arguments: {R : Type u} [CommSemiring R] {x : R} {I J : Ideal R}
Goal: Ideal.span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J
-- Ideal.span_singleton_mul_le_span_singleton_mul
theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
    span {x} * I ≤ span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ 
Arguments: {R : Type u} [CommSemiring R] {x y : R} {I J : Ideal R}
Goal: Ideal.span {x} * I ≤ Ideal.span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ
-- Ideal.span_singleton_mul_right_mono
theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
    span {x} * I ≤ span {x} * J ↔ I ≤ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: Ideal.span {x} * I ≤ Ideal.span {x} * J ↔ I ≤ J
-- Ideal.span_singleton_mul_left_mono
theorem span_singleton_mul_left_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
    I * span {x} ≤ J * span {x} ↔ I ≤ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: I * Ideal.span {x} ≤ J * Ideal.span {x} ↔ I ≤ J
-- Ideal.span_singleton_mul_right_inj
theorem span_singleton_mul_right_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
    span {x} * I = span {x} * J ↔ I = J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: Ideal.span {x} * I = Ideal.span {x} * J ↔ I = J
-- Ideal.span_singleton_mul_left_inj
theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
    I * span {x} = J * span {x} ↔ I = J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: I * Ideal.span {x} = J * Ideal.span {x} ↔ I = J
-- Ideal.span_singleton_mul_right_injective
theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
    Function.Injective ((span {x} : Ideal R) * ·) 
Arguments: {R : Type u} [CommSemiring R] [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: Function.Injective fun x_1 => Ideal.span {x} * x_1
-- Ideal.span_singleton_mul_left_injective
theorem span_singleton_mul_left_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
    Function.Injective fun I : Ideal R => I * span {x} 
Arguments: {R : Type u} [CommSemiring R] [IsDomain R] {x : R} (hx : x ≠ 0)
Goal: Function.Injective fun I => I * Ideal.span {x}
-- Ideal.eq_span_singleton_mul
theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
    I = span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I 
Arguments: {R : Type u} [CommSemiring R] {x : R} (I J : Ideal R)
Goal: I = Ideal.span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I
-- Ideal.span_singleton_mul_eq_span_singleton_mul
theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
    span {x} * I = span {y} * J ↔
      (∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ) ∧ ∀ zJ ∈ J, ∃ zI ∈ I, x * zI = y * zJ 
Arguments: {R : Type u} [CommSemiring R] {x y : R} (I J : Ideal R)
Goal: Ideal.span {x} * I = Ideal.span {y} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ) ∧ ∀ zJ ∈ J, ∃ zI ∈ I, x * zI = y * zJ
-- Ideal.prod_span
theorem prod_span {ι : Type*} (s : Finset ι) (I : ι → Set R) :
    (∏ i ∈ s, Ideal.span (I i)) = Ideal.span (∏ i ∈ s, I i) 
Arguments: {R : Type u} [CommSemiring R] {ι : Type u_2} (s : Finset ι) (I : ι → Set R)
Goal: ∏ i ∈ s, Ideal.span (I i) = Ideal.span (∏ i ∈ s, I i)
-- Ideal.prod_span_singleton
theorem prod_span_singleton {ι : Type*} (s : Finset ι) (I : ι → R) :
    (∏ i ∈ s, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i ∈ s, I i} 
Arguments: {R : Type u} [CommSemiring R] {ι : Type u_2} (s : Finset ι) (I : ι → R)
Goal: ∏ i ∈ s, Ideal.span {I i} = Ideal.span {∏ i ∈ s, I i}
-- Ideal.multiset_prod_span_singleton
@[simp]
theorem multiset_prod_span_singleton (m : Multiset R) :
    (m.map fun x => Ideal.span {x}).prod = Ideal.span ({Multiset.prod m} : Set R) 
Arguments: {R : Type u} [CommSemiring R] (m : Multiset R)
Goal: (Multiset.map (fun x => Ideal.span {x}) m).prod = Ideal.span {m.prod}
-- Ideal.finset_inf_span_singleton
theorem finset_inf_span_singleton {ι : Type*} (s : Finset ι) (I : ι → R)
    (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
    (s.inf fun i => Ideal.span ({I i} : Set R)) = Ideal.span {∏ i ∈ s, I i} 
Arguments: {R : Type u} [CommSemiring R] {ι : Type u_2} (s : Finset ι) (I : ι → R) (hI : (↑s).Pairwise (IsCoprime on I))
Goal: (s.inf fun i => Ideal.span {I i}) = Ideal.span {∏ i ∈ s, I i}
-- Ideal.iInf_span_singleton
theorem iInf_span_singleton {ι : Type*} [Fintype ι] {I : ι → R}
    (hI : ∀ (i j) (_ : i ≠ j), IsCoprime (I i) (I j)) :
    ⨅ i, span ({I i} : Set R) = span {∏ i, I i} 
Arguments: {R : Type u} [CommSemiring R] {ι : Type u_2} [Fintype ι] {I : ι → R} (hI : ∀ (i j : ι), i ≠ j → IsCoprime (I i) (I j))
Goal: ⨅ i, Ideal.span {I i} = Ideal.span {∏ i : ι, I i}
-- Ideal.iInf_span_singleton_natCast
theorem iInf_span_singleton_natCast {R : Type*} [CommRing R] {ι : Type*} [Fintype ι]
    {I : ι → ℕ} (hI : Pairwise fun i j => (I i).Coprime (I j)) :
    ⨅ (i : ι), span {(I i : R)} = span {((∏ i : ι, I i : ℕ) : R)} 
Arguments: {R : Type u_2} [CommRing R] {ι : Type u_3} [Fintype ι] {I : ι → ℕ} (hI : Pairwise fun i j => (I i).Coprime (I j))
Goal: ⨅ i, Ideal.span {↑(I i)} = Ideal.span {↑(∏ i : ι, I i)}
-- Ideal.sup_eq_top_iff_isCoprime
theorem sup_eq_top_iff_isCoprime {R : Type*} [CommSemiring R] (x y : R) :
    span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y 
Arguments: {R : Type u_2} [CommSemiring R] (x y : R)
Goal: Ideal.span {x} ⊔ Ideal.span {y} = ⊤ ↔ IsCoprime x y
-- Ideal.mul_le_inf
theorem mul_le_inf : I * J ≤ I ⊓ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I * J ≤ I ⊓ J
-- Ideal.multiset_prod_le_inf
theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.prod ≤ s.inf 
Arguments: {R : Type u} [CommSemiring R] {s : Multiset (Ideal R)}
Goal: s.prod ≤ s.inf
-- Ideal.prod_le_inf
theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.prod f ≤ s.inf f 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {s : Finset ι} {f : ι → Ideal R}
Goal: s.prod f ≤ s.inf f
-- Ideal.mul_eq_inf_of_coprime
theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (h : I ⊔ J = ⊤)
Goal: I * J = I ⊓ J
-- Ideal.sup_mul_eq_of_coprime_left
theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : I ⊔ J = ⊤)
Goal: I ⊔ J * K = I ⊔ K
-- Ideal.sup_mul_eq_of_coprime_right
theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : I ⊔ K = ⊤)
Goal: I ⊔ J * K = I ⊔ J
-- Ideal.mul_sup_eq_of_coprime_left
theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : I ⊔ J = ⊤)
Goal: I * K ⊔ J = K ⊔ J
-- Ideal.mul_sup_eq_of_coprime_right
theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : K ⊔ J = ⊤)
Goal: I * K ⊔ J = I ⊔ J
-- Ideal.sup_prod_eq_top
theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
    (I ⊔ ∏ i ∈ s, J i) = ⊤ 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {I : Ideal R} {s : Finset ι} {J : ι → Ideal R} (h : ∀ i ∈ s, I ⊔ J i = ⊤)
Goal: I ⊔ ∏ i ∈ s, J i = ⊤
-- Ideal.sup_iInf_eq_top
theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
    (I ⊔ ⨅ i ∈ s, J i) = ⊤ 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {I : Ideal R} {s : Finset ι} {J : ι → Ideal R} (h : ∀ i ∈ s, I ⊔ J i = ⊤)
Goal: I ⊔ ⨅ i ∈ s, J i = ⊤
-- Ideal.prod_sup_eq_top
theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
    (∏ i ∈ s, J i) ⊔ I = ⊤ 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {I : Ideal R} {s : Finset ι} {J : ι → Ideal R} (h : ∀ i ∈ s, J i ⊔ I = ⊤)
Goal: (∏ i ∈ s, J i) ⊔ I = ⊤
-- Ideal.iInf_sup_eq_top
theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
    (⨅ i ∈ s, J i) ⊔ I = ⊤ 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {I : Ideal R} {s : Finset ι} {J : ι → Ideal R} (h : ∀ i ∈ s, J i ⊔ I = ⊤)
Goal: (⨅ i ∈ s, J i) ⊔ I = ⊤
-- Ideal.sup_pow_eq_top
theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} {n : ℕ} (h : I ⊔ J = ⊤)
Goal: I ⊔ J ^ n = ⊤
-- Ideal.pow_sup_eq_top
theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} {n : ℕ} (h : I ⊔ J = ⊤)
Goal: I ^ n ⊔ J = ⊤
-- Ideal.pow_sup_pow_eq_top
theorem pow_sup_pow_eq_top {m n : ℕ} (h : I ⊔ J = ⊤) : I ^ m ⊔ J ^ n = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} {m n : ℕ} (h : I ⊔ J = ⊤)
Goal: I ^ m ⊔ J ^ n = ⊤
-- Ideal.mul_bot
theorem mul_bot : I * ⊥ = ⊥ 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: I * ⊥ = ⊥
-- Ideal.bot_mul
theorem bot_mul : ⊥ * I = ⊥ 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: ⊥ * I = ⊥
-- Ideal.mul_top
@[simp]
theorem mul_top : I * ⊤ = I 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: I * ⊤ = I
-- Ideal.top_mul
@[simp]
theorem top_mul : ⊤ * I = I 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: ⊤ * I = I
-- Ideal.mul_mono
theorem mul_mono (hik : I ≤ K) (hjl : J ≤ L) : I * J ≤ K * L 
Arguments: {R : Type u} [CommSemiring R] {I J K L : Ideal R} (hik : I ≤ K) (hjl : J ≤ L)
Goal: I * J ≤ K * L
-- Ideal.mul_mono_left
theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : I ≤ J)
Goal: I * K ≤ J * K
-- Ideal.mul_mono_right
theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K 
Arguments: {R : Type u} [CommSemiring R] {I J K : Ideal R} (h : J ≤ K)
Goal: I * J ≤ I * K
-- Ideal.mul_sup
theorem mul_sup : I * (J ⊔ K) = I * J ⊔ I * K 
Arguments: {R : Type u} [CommSemiring R] (I J K : Ideal R)
Goal: I * (J ⊔ K) = I * J ⊔ I * K
-- Ideal.sup_mul
theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K 
Arguments: {R : Type u} [CommSemiring R] (I J K : Ideal R)
Goal: (I ⊔ J) * K = I * K ⊔ J * K
-- Ideal.pow_le_pow_right
theorem pow_le_pow_right {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} {m n : ℕ} (h : m ≤ n)
Goal: I ^ n ≤ I ^ m
-- Ideal.pow_le_self
theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} {n : ℕ} (hn : n ≠ 0)
Goal: I ^ n ≤ I
-- Ideal.pow_right_mono
theorem pow_right_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (e : I ≤ J) (n : ℕ)
Goal: I ^ n ≤ J ^ n
-- Ideal.mul_eq_bot
@[simp]
theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
    I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ 
Arguments: {R : Type u_2} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R}
Goal: I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥
-- Ideal.multiset_prod_eq_bot
@[simp]
lemma multiset_prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
    s.prod = ⊥ ↔ ⊥ ∈ s 
Arguments: {R : Type u_2} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)}
Goal: s.prod = ⊥ ↔ ⊥ ∈ s
-- Ideal.prod_eq_bot
@[deprecated multiset_prod_eq_bot (since := "2023-12-26")]
theorem prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
    s.prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ 
Arguments: {R : Type u_2} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)}
Goal: s.prod = ⊥ ↔ ∃ I ∈ s, I = ⊥
-- Ideal.span_pair_mul_span_pair
theorem span_pair_mul_span_pair (w x y z : R) :
    (span {w, x} : Ideal R) * span {y, z} = span {w * y, w * z, x * y, x * z} 
Arguments: {R : Type u} [CommSemiring R] (w x y z : R)
Goal: Ideal.span {w, x} * Ideal.span {y, z} = Ideal.span {w * y, w * z, x * y, x * z}
-- Ideal.isCoprime_iff_codisjoint
theorem isCoprime_iff_codisjoint : IsCoprime I J ↔ Codisjoint I J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: IsCoprime I J ↔ Codisjoint I J
-- Ideal.isCoprime_iff_add
theorem isCoprime_iff_add : IsCoprime I J ↔ I + J = 1 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: IsCoprime I J ↔ I + J = 1
-- Ideal.isCoprime_iff_exists
theorem isCoprime_iff_exists : IsCoprime I J ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: IsCoprime I J ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1
-- Ideal.isCoprime_iff_sup_eq
theorem isCoprime_iff_sup_eq : IsCoprime I J ↔ I ⊔ J = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: IsCoprime I J ↔ I ⊔ J = ⊤
-- Ideal.isCoprime_tfae
theorem isCoprime_tfae : TFAE [IsCoprime I J, Codisjoint I J, I + J = 1,
    ∃ i ∈ I, ∃ j ∈ J, i + j = 1, I ⊔ J = ⊤] 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: [IsCoprime I J, Codisjoint I J, I + J = 1, ∃ i ∈ I, ∃ j ∈ J, i + j = 1, I ⊔ J = ⊤].TFAE
-- IsCoprime.codisjoint
theorem _root_.IsCoprime.codisjoint (h : IsCoprime I J) : Codisjoint I J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J)
Goal: Codisjoint I J
-- IsCoprime.add_eq
theorem _root_.IsCoprime.add_eq (h : IsCoprime I J) : I + J = 1 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J)
Goal: I + J = 1
-- IsCoprime.exists
theorem _root_.IsCoprime.exists (h : IsCoprime I J) : ∃ i ∈ I, ∃ j ∈ J, i + j = 1 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J)
Goal: ∃ i ∈ I, ∃ j ∈ J, i + j = 1
-- IsCoprime.sup_eq
theorem _root_.IsCoprime.sup_eq (h : IsCoprime I J) : I ⊔ J = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J)
Goal: I ⊔ J = ⊤
-- Ideal.inf_eq_mul_of_isCoprime
theorem inf_eq_mul_of_isCoprime (coprime : IsCoprime I J) : I ⊓ J = I * J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (coprime : IsCoprime I J)
Goal: I ⊓ J = I * J
-- Ideal.isCoprime_span_singleton_iff
theorem isCoprime_span_singleton_iff (x y : R) :
    IsCoprime (span <| singleton x) (span <| singleton y) ↔ IsCoprime x y 
Arguments: {R : Type u} [CommSemiring R] (x y : R)
Goal: IsCoprime (Ideal.span {x}) (Ideal.span {y}) ↔ IsCoprime x y
-- Ideal.isCoprime_biInf
theorem isCoprime_biInf {J : ι → Ideal R} {s : Finset ι}
    (hf : ∀ j ∈ s, IsCoprime I (J j)) : IsCoprime I (⨅ j ∈ s, J j) 
Arguments: {R : Type u} {ι : Type u_1} [CommSemiring R] {I : Ideal R} {J : ι → Ideal R} {s : Finset ι} (hf : ∀ j ∈ s, IsCoprime I (J j))
Goal: IsCoprime I (⨅ j ∈ s, J j)
-- Ideal.mem_radical_iff
theorem mem_radical_iff {r : R} : r ∈ I.radical ↔ ∃ n : ℕ, r ^ n ∈ I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} {r : R}
Goal: r ∈ I.radical ↔ ∃ n, r ^ n ∈ I
-- Ideal.le_radical
theorem le_radical : I ≤ radical I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R}
Goal: I ≤ I.radical
-- Ideal.radical_eq_iff
theorem radical_eq_iff : I.radical = I ↔ I.IsRadical 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R}
Goal: I.radical = I ↔ I.IsRadical
-- Ideal.isRadical_iff_pow_one_lt
theorem isRadical_iff_pow_one_lt (k : ℕ) (hk : 1 < k) : I.IsRadical ↔ ∀ r, r ^ k ∈ I → r ∈ I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} (k : ℕ) (hk : 1 < k)
Goal: I.IsRadical ↔ ∀ (r : R), r ^ k ∈ I → r ∈ I
-- Ideal.radical_top
theorem radical_top : (radical ⊤ : Ideal R) = ⊤ 
Arguments: (R : Type u) [CommSemiring R]
Goal: ⊤.radical = ⊤
-- Ideal.radical_mono
theorem radical_mono (H : I ≤ J) : radical I ≤ radical J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (H : I ≤ J)
Goal: I.radical ≤ J.radical
-- Ideal.radical_isRadical
theorem radical_isRadical : (radical I).IsRadical 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: I.radical.IsRadical
-- Ideal.radical_idem
@[simp]
theorem radical_idem : radical (radical I) = radical I 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: I.radical.radical = I.radical
-- Ideal.IsRadical.radical_le_iff
theorem IsRadical.radical_le_iff (hJ : J.IsRadical) : I.radical ≤ J ↔ I ≤ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (hJ : J.IsRadical)
Goal: I.radical ≤ J ↔ I ≤ J
-- Ideal.radical_le_radical_iff
theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R}
Goal: I.radical ≤ J.radical ↔ I ≤ J.radical
-- Ideal.radical_eq_top
theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R}
Goal: I.radical = ⊤ ↔ I = ⊤
-- Ideal.IsPrime.isRadical
theorem IsPrime.isRadical (H : IsPrime I) : I.IsRadical 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} (H : I.IsPrime)
Goal: I.IsRadical
-- Ideal.IsPrime.radical
theorem IsPrime.radical (H : IsPrime I) : radical I = I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} (H : I.IsPrime)
Goal: I.radical = I
-- Ideal.mem_radical_of_pow_mem
theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ radical I) :
    x ∈ radical I 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ I.radical)
Goal: x ∈ I.radical
-- Ideal.disjoint_powers_iff_not_mem
theorem disjoint_powers_iff_not_mem (y : R) (hI : I.IsRadical) :
    Disjoint (Submonoid.powers y : Set R) ↑I ↔ y ∉ I.1 
Arguments: {R : Type u} [CommSemiring R] {I : Ideal R} (y : R) (hI : I.IsRadical)
Goal: Disjoint ↑(Submonoid.powers y) ↑I ↔ y ∉ I.toAddSubmonoid
-- Ideal.radical_sup
theorem radical_sup : radical (I ⊔ J) = radical (radical I ⊔ radical J) 
Arguments: {R : Type u} [CommSemiring R] (I J : Ideal R)
Goal: (I ⊔ J).radical = (I.radical ⊔ J.radical).radical
-- Ideal.radical_inf
theorem radical_inf : radical (I ⊓ J) = radical I ⊓ radical J 
Arguments: {R : Type u} [CommSemiring R] (I J : Ideal R)
Goal: (I ⊓ J).radical = I.radical ⊓ J.radical
-- Ideal.IsRadical.inf
theorem IsRadical.inf (hI : IsRadical I) (hJ : IsRadical J) : IsRadical (I ⊓ J) 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (hI : I.IsRadical) (hJ : J.IsRadical)
Goal: (I ⊓ J).IsRadical
-- Ideal.radical_iInf_le
theorem radical_iInf_le {ι} (I : ι → Ideal R) : radical (⨅ i, I i) ≤ ⨅ i, radical (I i) 
Arguments: {R : Type u} [CommSemiring R] {ι : Sort u_2} (I : ι → Ideal R)
Goal: (⨅ i, I i).radical ≤ ⨅ i, (I i).radical
-- Ideal.isRadical_iInf
theorem isRadical_iInf {ι} (I : ι → Ideal R) (hI : ∀ i, IsRadical (I i)) : IsRadical (⨅ i, I i) 
Arguments: {R : Type u} [CommSemiring R] {ι : Sort u_2} (I : ι → Ideal R) (hI : ∀ (i : ι), (I i).IsRadical)
Goal: (⨅ i, I i).IsRadical
-- Ideal.radical_mul
theorem radical_mul : radical (I * J) = radical I ⊓ radical J 
Arguments: {R : Type u} [CommSemiring R] (I J : Ideal R)
Goal: (I * J).radical = I.radical ⊓ J.radical
-- Ideal.IsPrime.radical_le_iff
theorem IsPrime.radical_le_iff (hJ : IsPrime J) : I.radical ≤ J ↔ I ≤ J 
Arguments: {R : Type u} [CommSemiring R] {I J : Ideal R} (hJ : J.IsPrime)
Goal: I.radical ≤ J ↔ I ≤ J
-- Ideal.radical_eq_sInf
theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } 
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R)
Goal: I.radical = sInf {J | I ≤ J ∧ J.IsPrime}
-- Ideal.isRadical_bot_of_noZeroDivisors
theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
    (⊥ : Ideal R).IsRadical 
Arguments: {R : Type u_2} [CommSemiring R] [NoZeroDivisors R]
Goal: ⊥.IsRadical
-- Ideal.radical_bot_of_noZeroDivisors
@[simp]
theorem radical_bot_of_noZeroDivisors {R : Type u} [CommSemiring R] [NoZeroDivisors R] :
    radical (⊥ : Ideal R) = ⊥ 
Arguments: {R : Type u} [CommSemiring R] [NoZeroDivisors R]
Goal: ⊥.radical = ⊥
-- Ideal.top_pow
theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ 
Arguments: (R : Type u) [CommSemiring R] (n : ℕ)
Goal: ⊤ ^ n = ⊤
-- Ideal.radical_pow
lemma radical_pow : ∀ {n}, n ≠ 0 → radical (I ^ n) = radical I
  
Arguments: {R : Type u} [CommSemiring R] (I : Ideal R) {n : ℕ}
Goal: n ≠ 0 → (I ^ n).radical = I.radical