Theorem: CategoryTheory.GrothendieckTopology.plusMap_id
File: Mathlib/CategoryTheory/Sites/Plus.lean

tactic: ext : 2
state_before: C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
⊢ plusMap J (𝟙 P) = 𝟙 (plusObj J P)

tactic: dsimp only [plusMap, plusObj]
state_before: case w.h
C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
x✝ : Cᵒᵖ
⊢ (plusMap J (𝟙 P)).app x✝ = (𝟙 (plusObj J P)).app x✝

tactic: rw [J.diagramNatTrans_id, NatTrans.id_app]
state_before: case w.h
C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
x✝ : Cᵒᵖ
⊢ colimMap (diagramNatTrans J (𝟙 P) x✝.unop) =
    (𝟙
          (Functor.mk
            { obj := fun X => colimit (diagram J P X.unop),
              map := fun {X Y} f =>
                colimMap (diagramPullback J P f.unop) ≫
                  colimit.pre (diagram J P Y.unop) (Functor.op (pullback J f.unop)) })).app
      x✝

tactic: ext
state_before: case w.h
C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
x✝ : Cᵒᵖ
⊢ colimMap (𝟙 (diagram J P x✝.unop)) =
    𝟙
      ((Functor.mk
            { obj := fun X => colimit (diagram J P X.unop),
              map := fun {X Y} f =>
                colimMap (diagramPullback J P f.unop) ≫
                  colimit.pre (diagram J P Y.unop) (Functor.op (pullback J f.unop)) }).obj
        x✝)

tactic: dsimp
state_before: case w.h.w
C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
x✝ : Cᵒᵖ
j✝ : (Cover J x✝.unop)ᵒᵖ
⊢ colimit.ι (diagram J P x✝.unop) j✝ ≫ colimMap (𝟙 (diagram J P x✝.unop)) =
    colimit.ι (diagram J P x✝.unop) j✝ ≫
      𝟙
        ((Functor.mk
              { obj := fun X => colimit (diagram J P X.unop),
                map := fun {X Y} f =>
                  colimMap (diagramPullback J P f.unop) ≫
                    colimit.pre (diagram J P Y.unop) (Functor.op (pullback J f.unop)) }).obj
          x✝)

tactic: simp
state_before: case w.h.w
C : Type u
inst✝³ : Category C
J : GrothendieckTopology C
D : Type w
inst✝² : Category D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : Cover J X), HasMultiequalizer (Cover.index S P)
P✝ : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (Cover J X)ᵒᵖ D
P : Cᵒᵖ ⥤ D
x✝ : Cᵒᵖ
j✝ : (Cover J x✝.unop)ᵒᵖ
⊢ colimit.ι (diagram J P x✝.unop) j✝ ≫ colimMap (𝟙 (diagram J P x✝.unop)) =
    colimit.ι (diagram J P x✝.unop) j✝ ≫ 𝟙 (colimit (diagram J P x✝.unop))