Theorem: AlgebraicGeometry.ProjectiveSpectrum.Proj.toStalk_stalkMap_toSpec
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean

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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toStalk (↑(CommRingCat.of (A⁰_ f))) ((toSpec 𝒜 f).val.base x) ≫
      PresheafedSpace.stalkMap (toSpec 𝒜 f).val x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen ↑(CommRingCat.of (A⁰_ f)) ⊤ ≫
      (Spec.structureSheaf ↑(CommRingCat.of (A⁰_ f))).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        PresheafedSpace.stalkMap (toSpec 𝒜 f).val x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen ↑(CommRingCat.of (A⁰_ f)) ⊤ ≫
      (Spec.structureSheaf ↑(CommRingCat.of (A⁰_ f))).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        PresheafedSpace.stalkMap (toSpec 𝒜 f).val x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (Spec.structureSheaf (A⁰_ f)).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        PresheafedSpace.stalkMap (toSpec 𝒜 f).val x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (Spec.structureSheaf (A⁰_ f)).presheaf.germ ⟨(toSpec 𝒜 f).val.base x, True.intro⟩ ≫
        PresheafedSpace.stalkMap (toSpec 𝒜 f).val x =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (toSpec 𝒜 f).val.c.app { unop := ⊤ } ≫ (Proj.restrict ⋯).presheaf.germ ⟨x, True.intro⟩ =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ StructureSheaf.toOpen (A⁰_ f) ⊤ ≫
      (toSpec 𝒜 f).val.c.app { unop := ⊤ } ≫ (Proj.restrict ⋯).presheaf.germ ⟨x, True.intro⟩ =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk 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 ⋯).toPresheafedSpace
⊢ awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.germ ((fun x => ⟨↑x, ⋯⟩) ⟨x, True.intro⟩) =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk x

tactic: rfl
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 ⋯).toPresheafedSpace
⊢ awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).presheaf.germ ((fun x => ⟨↑x, ⋯⟩) ⟨x, True.intro⟩) =
    awayToΓ 𝒜 f ≫ (Proj.restrict ⋯).ΓToStalk x
state_after: no goals