Theorem: Ideal.isJacobson_localization
File: Mathlib/RingTheory/Jacobson.lean

tactic: rw [isJacobson_iff_prime_eq]
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
⊢ IsJacobson S
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
⊢ ∀ (P : Ideal S), P.IsPrime → P.jacobson = P

tactic: refine fun P' hP' => le_antisymm ?_ le_jacobson
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
⊢ ∀ (P : Ideal S), P.IsPrime → P.jacobson = P
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP' : P'.IsPrime
⊢ P'.jacobson ≤ P'

tactic: obtain ⟨hP', hPM⟩ := (IsLocalization.isPrime_iff_isPrime_disjoint (powers y) S P').mp hP'
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP' : P'.IsPrime
⊢ P'.jacobson ≤ P'
state_after: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
⊢ P'.jacobson ≤ P'

tactic: have hP := H.out hP'.isRadical
state_before: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
⊢ P'.jacobson ≤ P'
state_after: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
⊢ P'.jacobson ≤ P'

tactic: refine (IsLocalization.map_comap (powers y) S P'.jacobson).ge.trans
  ((map_mono ?_).trans (IsLocalization.map_comap (powers y) S P').le)
state_before: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
⊢ P'.jacobson ≤ P'
state_after: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
⊢ comap (algebraMap R S) P'.jacobson ≤ comap (algebraMap R S) P'

tactic: refine le_trans ?_ this
state_before: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
⊢ comap (algebraMap R S) P'.jacobson ≤ comap (algebraMap R S) P'
state_after: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
⊢ comap (algebraMap R S) P'.jacobson ≤ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}

tactic: rw [Ideal.jacobson, comap_sInf', sInf_eq_iInf]
state_before: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
⊢ comap (algebraMap R S) P'.jacobson ≤ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
state_after: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
⊢ ⨅ I ∈ comap (algebraMap R S) '' {J | P' ≤ J ∧ J.IsMaximal}, I ≤
    ⨅ a ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}, a

tactic: refine iInf_le_iInf_of_subset fun I hI => ⟨map (algebraMap R S) I, ⟨?_, ?_⟩⟩
state_before: case intro
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
⊢ ⨅ I ∈ comap (algebraMap R S) '' {J | P' ≤ J ∧ J.IsMaximal}, I ≤
    ⨅ a ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}, a
state_after: case intro.refine_1
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I✝ : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
I : Ideal R
hI : I ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ map (algebraMap R S) I ∈ {J | P' ≤ J ∧ J.IsMaximal}

case intro.refine_2
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I✝ : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
I : Ideal R
hI : I ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ comap (algebraMap R S) (map (algebraMap R S) I) = I

tactic: intro x hx
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
⊢ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ x ∈ comap (algebraMap R S) P'

tactic: rw [hP] at hxy
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy : x * y ∈ (comap (algebraMap R S) P').jacobson
⊢ x ∈ comap (algebraMap R S) P'
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy : x * y ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'

tactic: cases' hP'.mem_or_mem hxy with hxy hxy
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy : x * y ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'
state_after: case inl
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy✝ : x * y ∈ comap (algebraMap R S) P'
hxy : x ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'

case inr
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy✝ : x * y ∈ comap (algebraMap R S) P'
hxy : y ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'

tactic: rw [Ideal.jacobson, mem_sInf]
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ x * y ∈ (comap (algebraMap R S) P').jacobson
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ ∀ ⦃I : Ideal R⦄, I ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal} → x * y ∈ I

tactic: intro J hJ
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ ∀ ⦃I : Ideal R⦄, I ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal} → x * y ∈ I
state_after: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
⊢ x * y ∈ J

tactic: by_cases h : y ∈ J
state_before: R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
⊢ x * y ∈ J
state_after: case pos
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
h : y ∈ J
⊢ x * y ∈ J

case neg
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
h : y ∉ J
⊢ x * y ∈ J

tactic: exact J.mul_mem_left x h
state_before: case pos
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
h : y ∈ J
⊢ x * y ∈ J
state_after: no goals

tactic: exact J.mul_mem_right y ((mem_sInf.1 hx) ⟨hJ.left, ⟨hJ.right, h⟩⟩)
state_before: case neg
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
J : Ideal R
hJ : J ∈ {J | comap (algebraMap R S) P' ≤ J ∧ J.IsMaximal}
h : y ∉ J
⊢ x * y ∈ J
state_after: no goals

tactic: exact hxy
state_before: case inl
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy✝ : x * y ∈ comap (algebraMap R S) P'
hxy : x ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'
state_after: no goals

tactic: exact (hPM.le_bot ⟨Submonoid.mem_powers _, hxy⟩).elim
state_before: case inr
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
x : R
hx : x ∈ sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
hxy✝ : x * y ∈ comap (algebraMap R S) P'
hxy : y ∈ comap (algebraMap R S) P'
⊢ x ∈ comap (algebraMap R S) P'
state_after: no goals

tactic: exact ⟨le_trans (le_of_eq (IsLocalization.map_comap (powers y) S P').symm) (map_mono hI.1),
  isMaximal_of_isMaximal_disjoint y _ hI.2.1 hI.2.2⟩
state_before: case intro.refine_1
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I✝ : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
I : Ideal R
hI : I ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ map (algebraMap R S) I ∈ {J | P' ≤ J ∧ J.IsMaximal}
state_after: no goals

tactic: exact IsLocalization.comap_map_of_isPrime_disjoint _ S I (IsMaximal.isPrime hI.2.1)
  ((disjoint_powers_iff_not_mem y hI.2.1.isPrime.isRadical).2 hI.2.2)
state_before: case intro.refine_2
R : Type u_1
S : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing S
I✝ : Ideal R
y : R
inst✝¹ : Algebra R S
inst✝ : Away y S
H : IsJacobson R
P' : Ideal S
hP'✝ : P'.IsPrime
hP' : (comap (algebraMap R S) P').IsPrime
hPM : Disjoint ↑(powers y) ↑(comap (algebraMap R S) P')
hP : (comap (algebraMap R S) P').jacobson = comap (algebraMap R S) P'
this : sInf {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I} ≤ comap (algebraMap R S) P'
I : Ideal R
hI : I ∈ {I | comap (algebraMap R S) P' ≤ I ∧ I.IsMaximal ∧ y ∉ I}
⊢ comap (algebraMap R S) (map (algebraMap R S) I) = I
state_after: no goals