forall {x x0 : C} {x2 : Category.Core.morphism C x x0} {x1 : C} {x5 : Category.Core.morphism C x0 x1} {x4 : C} {x7 : Category.Core.morphism C x1 x4} {p p0 : PreCategory} {f : Category.Core.morphism C x x4 -> Functor p0 p} {p1 p2 : PreCategory} {f0 : Functor p2 p} {f1 : Functor p1 p2} {f2 : Functor p0 p2} {f3 : Functor p0 p1} {f4 : Functor p1 p} {x16 : Category.Core.morphism (_ -> _) (f (x7 o x5 o x2)) (f4 o f3)%functor} {x15 : Category.Core.morphism (_ -> _) f2 (f1 o f3)%functor} {H2 : IsIsomorphism x15} {x11 : Category.Core.morphism (_ -> _) (f (x7 o (x5 o x2))) (f0 o f2)%functor} {H1 : IsIsomorphism x11} {x9 : Category.Core.morphism (_ -> _) f4 (f0 o f1)%functor} {fst_hyp : x7 o x5 o x2 = x7 o (x5 o x2)} (rew_hyp : forall x3 : p0, (idtoiso (p0 -> p) (ap f fst_hyp) : Category.Core.morphism _ _ _) x3 = x11^-1 x3 o (f0 _1 (x15^-1 x3) o (1 o (x9 (f3 x3) o x16 x3)))) {H0' : IsIsomorphism x16} {H1' : IsIsomorphism x9} {x13 : p} {x3 : p0} {x6 : p1} {x10 : p2} {x14 : Category.Core.morphism p (f0 x10) x13} {x12 : Category.Core.morphism p2 (f1 x6) x10} {x8 : Category.Core.morphism p1 (f3 x3) x6}, exist (fun f5 : Category.Core.morphism C x x4 => Category.Core.morphism p ((f f5) x3) x13) (x7 o x5 o x2) (x14 o (f0 _1 x12 o x9 x6) o (f4 _1 x8 o x16 x3)) = (x7 o (x5 o x2); x14 o (f0 _1 (x12 o (f1 _1 x8 o x15 x3)) o x11 x3)). Proof. helper_t assoc_before_commutes_tac. assoc_fin_tac. Qed.
Require Import FunctorCategory.Morphisms. Require Import Category.Core Functor.Core NaturalTransformation.Core. Require Import Pseudofunctor.Core Pseudofunctor.RewriteLaws. Require Import Category.Morphisms Cat.Morphisms. Require Import Functor.Composition.Core. Require Import Functor.Identity. Require Import FunctorCategory.Core. Require Import Basics Types HoTT.Tactics.