C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ φ.app P = F.map (decompId_i P) ≫ φ.app (Karoubi.mk P.X (𝟙 P.X)) ≫ G.map (decompId_p P)
rw [← φ.naturality, ← assoc, ← F.map_comp]
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ F.map (𝟙 P) ≫ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P
conv =>
  lhs
  rw [← id_comp (φ.app P), ← F.map_id]
case e_a.e_a
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ 𝟙 P = decompId_i P ≫ decompId_p P
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ F.map (𝟙 P) ≫ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P
congr
no goals
case e_a.e_a
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ 𝟙 P = decompId_i P ≫ decompId_p P
apply decompId