Theorem: Ideal.radical_eq_sInf
File: Mathlib/RingTheory/Ideal/Operations.lean

Proof steps:
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
m : Ideal R
hrm : r ∉ m.radical
him : I ≤ m
hm : ∀ z ∈ {K | r ∉ K.radical}, m ≤ z → z = m
this : ∀ x ∉ m, r ∈ (m ⊔ span {x}).radical
⊢ m ≠ ⊤
state_after: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
hrm : r ∉ ⊤.radical
him : I ≤ ⊤
hm : ∀ z ∈ {K | r ∉ K.radical}, ⊤ ≤ z → z = ⊤
this : ∀ x ∉ ⊤, r ∈ (⊤ ⊔ span {x}).radical
⊢ False
tactic: rintro rfl
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
hrm : r ∉ ⊤.radical
him : I ≤ ⊤
hm : ∀ z ∈ {K | r ∉ K.radical}, ⊤ ≤ z → z = ⊤
this : ∀ x ∉ ⊤, r ∈ (⊤ ⊔ span {x}).radical
⊢ False
state_after: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
hrm : r ∉ ⊤
him : I ≤ ⊤
hm : ∀ z ∈ {K | r ∉ K.radical}, ⊤ ≤ z → z = ⊤
this : ∀ x ∉ ⊤, r ∈ (⊤ ⊔ span {x}).radical
⊢ False
tactic: rw [radical_top] at hrm
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
hrm : r ∉ ⊤
him : I ≤ ⊤
hm : ∀ z ∈ {K | r ∉ K.radical}, ⊤ ≤ z → z = ⊤
this : ∀ x ∉ ⊤, r ∈ (⊤ ⊔ span {x}).radical
⊢ False
state_after: no goals
tactic: exact hrm trivial
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
m : Ideal R
hrm : r ∉ m.radical
him : I ≤ m
hm : ∀ z ∈ {K | r ∉ K.radical}, m ≤ z → z = m
this : ∀ x ∉ m, r ∈ (m ⊔ span {x}).radical
x y : R
hxym : x * y ∈ m
hxm : x ∉ m
hym : y ∉ m
n : ℕ
hrn : r ^ n ∈ m ⊔ span {x}
p : R
hpm : p ∈ m
q : R
hq : q ∈ span {x}
hpqrn : p + q = r ^ n
c : R
hcxq : c * x = q
k : ℕ
hrk : r ^ k ∈ m ⊔ span {y}
f : R
hfm : f ∈ m
g : R
hg : g ∈ span {y}
hfgrk : f + g = r ^ k
d : R
hdyg : d * y = g
⊢ r ^ (n + k) ∈ m
state_after: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
m : Ideal R
hrm : r ∉ m.radical
him : I ≤ m
hm : ∀ z ∈ {K | r ∉ K.radical}, m ≤ z → z = m
this : ∀ x ∉ m, r ∈ (m ⊔ span {x}).radical
x y : R
hxym : x * y ∈ m
hxm : x ∉ m
hym : y ∉ m
n : ℕ
hrn : r ^ n ∈ m ⊔ span {x}
p : R
hpm : p ∈ m
q : R
hq : q ∈ span {x}
hpqrn : p + q = r ^ n
c : R
hcxq : c * x = q
k : ℕ
hrk : r ^ k ∈ m ⊔ span {y}
f : R
hfm : f ∈ m
g : R
hg : g ∈ span {y}
hfgrk : f + g = r ^ k
d : R
hdyg : d * y = g
⊢ p * (f + d * y) + (c * x * f + c * d * (x * y)) ∈ m
tactic: rw [pow_add, ← hpqrn, ← hcxq, ← hfgrk, ← hdyg, add_mul, mul_add (c * x),
                      mul_assoc c x (d * y), mul_left_comm x, ← mul_assoc]
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I✝ J K L I : Ideal R
r : R
hr : r ∈ sInf {J | I ≤ J ∧ J.IsPrime}
hri : r ∉ I.radical
m : Ideal R
hrm : r ∉ m.radical
him : I ≤ m
hm : ∀ z ∈ {K | r ∉ K.radical}, m ≤ z → z = m
this : ∀ x ∉ m, r ∈ (m ⊔ span {x}).radical
x y : R
hxym : x * y ∈ m
hxm : x ∉ m
hym : y ∉ m
n : ℕ
hrn : r ^ n ∈ m ⊔ span {x}
p : R
hpm : p ∈ m
q : R
hq : q ∈ span {x}
hpqrn : p + q = r ^ n
c : R
hcxq : c * x = q
k : ℕ
hrk : r ^ k ∈ m ⊔ span {y}
f : R
hfm : f ∈ m
g : R
hg : g ∈ span {y}
hfgrk : f + g = r ^ k
d : R
hdyg : d * y = g
⊢ p * (f + d * y) + (c * x * f + c * d * (x * y)) ∈ m
state_after: no goals
tactic: refine
                    m.add_mem (m.mul_mem_right _ hpm)
                    (m.add_mem (m.mul_mem_left _ hfm) (m.mul_mem_left _ hxym))