Theorem: CategoryTheory.OplaxNatTrans.whiskerRight_naturality_comp
File: Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean

tactic: rw [← associator_naturality_middle, ← comp_whiskerRight_assoc, naturality_comp]
state_before: B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H : OplaxFunctor B C
η : OplaxNatTrans F G
θ : OplaxNatTrans G H
a b c : B
a' : C
f : a ⟶ b
g : b ⟶ c
h : (↑G.toPrelaxFunctor).obj c ⟶ a'
⊢ η.naturality (f ≫ g) ▷ h ≫ (α_ (η.app a) ((↑G.toPrelaxFunctor).map (f ≫ g)) h).hom ≫ η.app a ◁ G.mapComp f g ▷ h =
    F.mapComp f g ▷ η.app c ▷ h ≫
      (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g) (η.app c)).hom ▷ h ≫
        (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g ≫ η.app c) h).hom ≫
          (↑F.toPrelaxFunctor).map f ◁ η.naturality g ▷ h ≫
            (α_ ((↑F.toPrelaxFunctor).map f) (η.app b ≫ (↑G.toPrelaxFunctor).map g) h).inv ≫
              (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) ((↑G.toPrelaxFunctor).map g)).inv ▷ h ≫
                η.naturality f ▷ (↑G.toPrelaxFunctor).map g ▷ h ≫
                  (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) ((↑G.toPrelaxFunctor).map g)).hom ▷ h ≫
                    (α_ (η.app a) ((↑G.toPrelaxFunctor).map f ≫ (↑G.toPrelaxFunctor).map g) h).hom
state_after: B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H : OplaxFunctor B C
η : OplaxNatTrans F G
θ : OplaxNatTrans G H
a b c : B
a' : C
f : a ⟶ b
g : b ⟶ c
h : (↑G.toPrelaxFunctor).obj c ⟶ a'
⊢ (F.mapComp f g ▷ η.app c ≫
          (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g) (η.app c)).hom ≫
            (↑F.toPrelaxFunctor).map f ◁ η.naturality g ≫
              (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) ((↑G.toPrelaxFunctor).map g)).inv ≫
                η.naturality f ▷ (↑G.toPrelaxFunctor).map g ≫
                  (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) ((↑G.toPrelaxFunctor).map g)).hom) ▷
        h ≫
      (α_ (η.app a) ((↑G.toPrelaxFunctor).map f ≫ (↑G.toPrelaxFunctor).map g) h).hom =
    F.mapComp f g ▷ η.app c ▷ h ≫
      (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g) (η.app c)).hom ▷ h ≫
        (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g ≫ η.app c) h).hom ≫
          (↑F.toPrelaxFunctor).map f ◁ η.naturality g ▷ h ≫
            (α_ ((↑F.toPrelaxFunctor).map f) (η.app b ≫ (↑G.toPrelaxFunctor).map g) h).inv ≫
              (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) ((↑G.toPrelaxFunctor).map g)).inv ▷ h ≫
                η.naturality f ▷ (↑G.toPrelaxFunctor).map g ▷ h ≫
                  (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) ((↑G.toPrelaxFunctor).map g)).hom ▷ h ≫
                    (α_ (η.app a) ((↑G.toPrelaxFunctor).map f ≫ (↑G.toPrelaxFunctor).map g) h).hom

tactic: simp
state_before: B : Type u₁
inst✝¹ : Bicategory B
C : Type u₂
inst✝ : Bicategory C
F G H : OplaxFunctor B C
η : OplaxNatTrans F G
θ : OplaxNatTrans G H
a b c : B
a' : C
f : a ⟶ b
g : b ⟶ c
h : (↑G.toPrelaxFunctor).obj c ⟶ a'
⊢ (F.mapComp f g ▷ η.app c ≫
          (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g) (η.app c)).hom ≫
            (↑F.toPrelaxFunctor).map f ◁ η.naturality g ≫
              (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) ((↑G.toPrelaxFunctor).map g)).inv ≫
                η.naturality f ▷ (↑G.toPrelaxFunctor).map g ≫
                  (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) ((↑G.toPrelaxFunctor).map g)).hom) ▷
        h ≫
      (α_ (η.app a) ((↑G.toPrelaxFunctor).map f ≫ (↑G.toPrelaxFunctor).map g) h).hom =
    F.mapComp f g ▷ η.app c ▷ h ≫
      (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g) (η.app c)).hom ▷ h ≫
        (α_ ((↑F.toPrelaxFunctor).map f) ((↑F.toPrelaxFunctor).map g ≫ η.app c) h).hom ≫
          (↑F.toPrelaxFunctor).map f ◁ η.naturality g ▷ h ≫
            (α_ ((↑F.toPrelaxFunctor).map f) (η.app b ≫ (↑G.toPrelaxFunctor).map g) h).inv ≫
              (α_ ((↑F.toPrelaxFunctor).map f) (η.app b) ((↑G.toPrelaxFunctor).map g)).inv ▷ h ≫
                η.naturality f ▷ (↑G.toPrelaxFunctor).map g ▷ h ≫
                  (α_ (η.app a) ((↑G.toPrelaxFunctor).map f) ((↑G.toPrelaxFunctor).map g)).hom ▷ h ≫
                    (α_ (η.app a) ((↑G.toPrelaxFunctor).map f ≫ (↑G.toPrelaxFunctor).map g) h).hom
state_after: no goals