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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
⊢ (diagramNatTrans J (𝟙 P) X).app x✝ = (𝟙 (diagram J P X)).app x✝
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
X : C
P : Cᵒᵖ ⥤ D
⊢ diagramNatTrans J (𝟙 P) X = 𝟙 (diagram J P X)
ext : 2
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ (diagramNatTrans J (𝟙 P) X).app x✝ ≫ Multiequalizer.ι (Cover.index x✝.unop P) i =
    (𝟙 (diagram J P X)).app x✝ ≫ Multiequalizer.ι (Cover.index x✝.unop P) i
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
⊢ (diagramNatTrans J (𝟙 P) X).app x✝ = (𝟙 (diagram J P X)).app x✝
refine' Multiequalizer.hom_ext _ _ _ (fun i => _)
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ Multiequalizer.lift (Cover.index x✝.unop P) (multiequalizer (Cover.index x✝.unop P))
        (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ 𝟙 (P.obj i.Y.op))
        (_ :
          ∀ (i : (Cover.index x✝.unop P).R),
            (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ (𝟙 P).app i.Y.op)
                  (MulticospanIndex.fstTo (Cover.index x✝.unop P) i) ≫
                MulticospanIndex.fst (Cover.index x✝.unop P) i =
              (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ (𝟙 P).app i.Y.op)
                  (MulticospanIndex.sndTo (Cover.index x✝.unop P) i) ≫
                MulticospanIndex.snd (Cover.index x✝.unop P) i) ≫
      Multiequalizer.ι (Cover.index x✝.unop P) i =
    𝟙 (multiequalizer (Cover.index x✝.unop P)) ≫ Multiequalizer.ι (Cover.index x✝.unop P) i
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ (diagramNatTrans J (𝟙 P) X).app x✝ ≫ Multiequalizer.ι (Cover.index x✝.unop P) i =
    (𝟙 (diagram J P X)).app x✝ ≫ Multiequalizer.ι (Cover.index x✝.unop P) i
dsimp
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ Multiequalizer.ι (Cover.index x✝.unop P) i ≫ 𝟙 (P.obj i.Y.op) = Multiequalizer.ι (Cover.index x✝.unop P) i
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ Multiequalizer.lift (Cover.index x✝.unop P) (multiequalizer (Cover.index x✝.unop P))
        (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ 𝟙 (P.obj i.Y.op))
        (_ :
          ∀ (i : (Cover.index x✝.unop P).R),
            (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ (𝟙 P).app i.Y.op)
                  (MulticospanIndex.fstTo (Cover.index x✝.unop P) i) ≫
                MulticospanIndex.fst (Cover.index x✝.unop P) i =
              (fun i => Multiequalizer.ι (Cover.index x✝.unop P) i ≫ (𝟙 P).app i.Y.op)
                  (MulticospanIndex.sndTo (Cover.index x✝.unop P) i) ≫
                MulticospanIndex.snd (Cover.index x✝.unop P) i) ≫
      Multiequalizer.ι (Cover.index x✝.unop P) i =
    𝟙 (multiequalizer (Cover.index x✝.unop P)) ≫ Multiequalizer.ι (Cover.index x✝.unop P) i
simp only [limit.lift_π, Multifork.ofι_pt, Multifork.ofι_π_app, Category.id_comp]
no goals
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
X : C
P : Cᵒᵖ ⥤ D
x✝ : (Cover J X)ᵒᵖ
i : (Cover.index x✝.unop P).L
⊢ Multiequalizer.ι (Cover.index x✝.unop P) i ≫ 𝟙 (P.obj i.Y.op) = Multiequalizer.ι (Cover.index x✝.unop P) i
erw [Category.comp_id]