Theorem: AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_fromSpec
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
⊢ (toSpec 𝒜 f) (FromSpec.toFun f_deg hm x) = x
state_after: case asIdeal
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
⊢ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal = x.asIdeal
tactic: apply PrimeSpectrum.ext
state_before: case asIdeal
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
⊢ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal = x.asIdeal
state_after: case asIdeal.h
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : ↑(CommRingCat.of (A⁰_ f))
⊢ z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔ z ∈ x.asIdeal
tactic: ext z
state_before: case asIdeal.h
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : ↑(CommRingCat.of (A⁰_ f))
⊢ z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔ z ∈ x.asIdeal
state_after: case asIdeal.h.intro
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : HomogeneousLocalization.NumDenSameDeg 𝒜 (Submonoid.powers f)
⊢ HomogeneousLocalization.mk z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔
    HomogeneousLocalization.mk z ∈ x.asIdeal
tactic: obtain ⟨z, rfl⟩ := z.mk_surjective
state_before: case asIdeal.h.intro
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : HomogeneousLocalization.NumDenSameDeg 𝒜 (Submonoid.powers f)
⊢ HomogeneousLocalization.mk z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔
    HomogeneousLocalization.mk z ∈ x.asIdeal
state_after: case asIdeal.h.intro
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : HomogeneousLocalization.NumDenSameDeg 𝒜 (Submonoid.powers f)
⊢ HomogeneousLocalization.mk z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔ ↑z.num ∈ FromSpec.carrier f_deg x
tactic: rw [← FromSpec.num_mem_carrier_iff f_deg hm x]
state_before: case asIdeal.h.intro
R : Type u_1
A : Type u_2
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f : A
m : ℕ
f_deg : f ∈ 𝒜 m
hm : 0 < m
x : ↑↑(Spec A⁰_ f).toPresheafedSpace
z : HomogeneousLocalization.NumDenSameDeg 𝒜 (Submonoid.powers f)
⊢ HomogeneousLocalization.mk z ∈ ((toSpec 𝒜 f) (FromSpec.toFun f_deg hm x)).asIdeal ↔ ↑z.num ∈ FromSpec.carrier f_deg x
state_after: no goals
tactic: exact ToSpec.mk_mem_carrier _ z