Theorem: CategoryTheory.GradedObject.mapBifunctorMapMapIso_inv
File: Mathlib/CategoryTheory/GradedObject/Bifunctor.lean

Proof steps:
state_before: C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
⊢ mapBifunctorMapMap F p e.hom e'.hom ≫ mapBifunctorMapMap F p e.inv e'.inv = 𝟙 (mapBifunctorMapObj F p X₁ Y₁)
state_after: case h.h
C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
x✝ : K
i✝ : I
j✝ : J
hij✝ : p (i✝, j✝) = x✝
⊢ ιMapBifunctorMapObj F p X₁ Y₁ i✝ j✝ x✝ hij✝ ≫
      (mapBifunctorMapMap F p e.hom e'.hom ≫ mapBifunctorMapMap F p e.inv e'.inv) x✝ =
    ιMapBifunctorMapObj F p X₁ Y₁ i✝ j✝ x✝ hij✝ ≫ 𝟙 (mapBifunctorMapObj F p X₁ Y₁) x✝
tactic: ext
state_before: case h.h
C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
x✝ : K
i✝ : I
j✝ : J
hij✝ : p (i✝, j✝) = x✝
⊢ ιMapBifunctorMapObj F p X₁ Y₁ i✝ j✝ x✝ hij✝ ≫
      (mapBifunctorMapMap F p e.hom e'.hom ≫ mapBifunctorMapMap F p e.inv e'.inv) x✝ =
    ιMapBifunctorMapObj F p X₁ Y₁ i✝ j✝ x✝ hij✝ ≫ 𝟙 (mapBifunctorMapObj F p X₁ Y₁) x✝
state_after: no goals
tactic: simp
state_before: C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
⊢ mapBifunctorMapMap F p e.inv e'.inv ≫ mapBifunctorMapMap F p e.hom e'.hom = 𝟙 (mapBifunctorMapObj F p X₂ Y₂)
state_after: case h.h
C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
x✝ : K
i✝ : I
j✝ : J
hij✝ : p (i✝, j✝) = x✝
⊢ ιMapBifunctorMapObj F p X₂ Y₂ i✝ j✝ x✝ hij✝ ≫
      (mapBifunctorMapMap F p e.inv e'.inv ≫ mapBifunctorMapMap F p e.hom e'.hom) x✝ =
    ιMapBifunctorMapObj F p X₂ Y₂ i✝ j✝ x✝ hij✝ ≫ 𝟙 (mapBifunctorMapObj F p X₂ Y₂) x✝
tactic: ext
state_before: case h.h
C₁ : Type u_1
C₂ : Type u_2
C₃ : Type u_3
inst✝⁴ : Category.{?u.34465, u_1} C₁
inst✝³ : Category.{?u.34469, u_2} C₂
inst✝² : Category.{?u.34473, u_3} C₃
F : C₁ ⥤ C₂ ⥤ C₃
I : Type u_4
J : Type u_5
K : Type u_6
p : I × J → K
X₁ X₂ : GradedObject I C₁
Y₁ Y₂ : GradedObject J C₂
inst✝¹ : (((mapBifunctor F I J).obj X₁).obj Y₁).HasMap p
inst✝ : (((mapBifunctor F I J).obj X₂).obj Y₂).HasMap p
e : X₁ ≅ X₂
e' : Y₁ ≅ Y₂
x✝ : K
i✝ : I
j✝ : J
hij✝ : p (i✝, j✝) = x✝
⊢ ιMapBifunctorMapObj F p X₂ Y₂ i✝ j✝ x✝ hij✝ ≫
      (mapBifunctorMapMap F p e.inv e'.inv ≫ mapBifunctorMapMap F p e.hom e'.hom) x✝ =
    ιMapBifunctorMapObj F p X₂ Y₂ i✝ j✝ x✝ hij✝ ≫ 𝟙 (mapBifunctorMapObj F p X₂ Y₂) x✝
state_after: no goals
tactic: simp