Theorem: AlgebraicGeometry.ProjectiveSpectrum.Proj.toStalk_stalkMap_toSpec
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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toStalk (↑(CommRingCat.of (A⁰_ f))) ((toSpec 𝒜 f).val.base x) ≫
      LocallyRingedSpace.Hom.stalkMap (toSpec 𝒜 f) x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
state_after: 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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen ↑(CommRingCat.of (A⁰_ f)) ⊤ ≫
      (Spec.structureSheaf ↑(CommRingCat.of (A⁰_ f))).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        LocallyRingedSpace.Hom.stalkMap (toSpec 𝒜 f) x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
tactic: rw [StructureSheaf.toStalk, Category.assoc]
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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen ↑(CommRingCat.of (A⁰_ f)) ⊤ ≫
      (Spec.structureSheaf ↑(CommRingCat.of (A⁰_ f))).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        LocallyRingedSpace.Hom.stalkMap (toSpec 𝒜 f) x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
state_after: 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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (Spec.structureSheaf (A⁰_ f)).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        LocallyRingedSpace.Hom.stalkMap (toSpec 𝒜 f) x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
tactic: simp_rw [CommRingCat.coe_of]
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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (Spec.structureSheaf (A⁰_ f)).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        LocallyRingedSpace.Hom.stalkMap (toSpec 𝒜 f) x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
state_after: 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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫ (toSpec 𝒜 f).val.c.app (op ⊤) ≫ (Proj.restrict ⋯).presheaf.germ ⟨x, True.intro⟩ =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
tactic: erw [PresheafedSpace.stalkMap_germ']
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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫ (toSpec 𝒜 f).val.c.app (op ⊤) ≫ (Proj.restrict ⋯).presheaf.germ ⟨x, True.intro⟩ =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
state_after: 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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.germ ((fun x => ⟨↑x, ⋯⟩) ⟨x, True.intro⟩) =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
tactic: rw [toOpen_toSpec_val_c_app_assoc, Presheaf.germ_res]
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
x : ↑(Proj.restrict ⋯).toTopCat
⊢ awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.germ ((fun x => ⟨↑x, ⋯⟩) ⟨x, True.intro⟩) =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.Γgerm x
state_after: no goals
tactic: rfl