Theorem: AlgebraicGeometry.ΓSpec.toOpen_unit_app_val_c_app
File: Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean

Proof steps:
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ (Opens.map (adjunction.unit.app X).val.base).obj (unop U) ≤ ⊤
state_after: no goals
tactic: exact le_top
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ toOpen (↑(unop (Scheme.Γ.rightOp.obj X))) (unop U) ≫ (adjunction.unit.app X).val.c.app U =
    X.presheaf.map (homOfLE ⋯).op
state_after: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ toOpen ↑(unop (Scheme.Γ.rightOp.obj X)) ⊤ ≫
      (adjunction.unit.app X).val.c.app (op ⊤) ≫
        ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map
          (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
tactic: rw [← StructureSheaf.toOpen_res _ _ _ (homOfLE le_top), Category.assoc,
    NatTrans.naturality _ (homOfLE (le_top (a := U.unop))).op]
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ toOpen ↑(unop (Scheme.Γ.rightOp.obj X)) ⊤ ≫
      (adjunction.unit.app X).val.c.app (op ⊤) ≫
        ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map
          (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
state_after: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ (adjunction.counit.app (Scheme.Γ.rightOp.obj X)).unop ≫
      (Scheme.Γ.rightOp.map (adjunction.unit.app X)).unop ≫
        ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map
          (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
tactic: show (ΓSpec.adjunction.counit.app (Scheme.Γ.rightOp.obj X)).unop ≫
    (Scheme.Γ.rightOp.map (ΓSpec.adjunction.unit.app X)).unop ≫ _ = _
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ (adjunction.counit.app (Scheme.Γ.rightOp.obj X)).unop ≫
      (Scheme.Γ.rightOp.map (adjunction.unit.app X)).unop ≫
        ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map
          (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
state_after: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ (𝟙 (Scheme.Γ.rightOp.obj X)).unop ≫
      ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
tactic: rw [← Category.assoc, ← unop_comp, ΓSpec.adjunction.left_triangle_components]
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ (𝟙 (Scheme.Γ.rightOp.obj X)).unop ≫
      ((pushforward CommRingCat (adjunction.unit.app X).val.base).obj ((𝟭 Scheme).obj X).presheaf).map (homOfLE ⋯).op =
    X.presheaf.map (homOfLE ⋯).op
state_after: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ 𝟙 Γ(X, ⊤) ≫ X.presheaf.map (homOfLE ⋯).op = X.presheaf.map (homOfLE ⋯).op
tactic: dsimp
state_before: X : Scheme
U : (Opens ↑↑((Scheme.Γ.rightOp ⋙ Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ
⊢ 𝟙 Γ(X, ⊤) ≫ X.presheaf.map (homOfLE ⋯).op = X.presheaf.map (homOfLE ⋯).op
state_after: no goals
tactic: exact Category.id_comp _