proposition: Lemma rt_chain_iso_pair_ind_inv_iscoeqout (A : C) (v : vertex nat_graph) (Cisp : rt_chain_iso_pair A v) : next_pair_diagram_coeq_arr0 (free_monoid_coeq_sequence_on A v) · (T ⊗^{ V}_{l} z_iso_inv (rtisp_riso Cisp) · (αinv^{ V }_{_, _, _} · CoequalizerArrow C (next_pair_diagram_coeq (free_monoid_coeq_sequence_on I_{ V} v)) ⊗^{V}_{r} A ) ) = next_pair_diagram_coeq_arr1 (free_monoid_coeq_sequence_on A v) · (T ⊗^{ V}_{l} z_iso_inv (rtisp_riso Cisp) · (αinv^{ V }_{_, _, _} · CoequalizerArrow C (next_pair_diagram_coeq (free_monoid_coeq_sequence_on I_{ V} v)) ⊗^{V}_{r} A ) ).
proof: Proof. set (totrel := rt_chain_iso_pair_rel_impl_total_rel (rtisp_rel Cisp)). assert (totrel' : pair_diagram_horizontal_arrow (free_monoid_coeq_sequence_on A v) · inv_from_z_iso (rtisp_riso Cisp) = inv_from_z_iso (rtisp_liso Cisp) · (pair_diagram_horizontal_arrow (free_monoid_coeq_sequence_on I_{ V} v)) ⊗^{V}_{r} A ). { apply (post_comp_with_z_iso_is_inj (rtisp_riso Cisp)). etrans. apply assoc'. etrans. apply cancel_precomposition. exact (pr222 (rtisp_riso Cisp)). etrans. apply id_right. apply (pre_comp_with_z_iso_is_inj (rtisp_liso Cisp)). apply pathsinv0. etrans. apply assoc. etrans. apply cancel_postcomposition. etrans. apply assoc. apply cancel_postcomposition. exact (pr122 (rtisp_liso Cisp)). etrans. apply assoc'. etrans. apply id_left. apply pathsinv0. etrans. exact totrel. etrans. apply cancel_postcomposition. etrans. apply cancel_precomposition. apply (bifunctor_leftid V). apply id_right. reflexivity. } apply pathsinv0. etrans. apply assoc. etrans. apply cancel_postcomposition. { etrans. exact (pathsinv0 (bifunctor_leftcomp V _ _ _ _ _ _)). etrans. apply maponpaths. exact totrel'. apply (bifunctor_leftcomp V). } etrans. apply assoc. etrans. apply assoc4. etrans. apply cancel_postcomposition, cancel_precomposition. apply (monoidal_associatorinvnatleftright V). etrans. apply cancel_postcomposition, assoc. etrans. apply assoc'. etrans. apply cancel_precomposition. { etrans. exact (pathsinv0 (bifunctor_rightcomp V _ _ _ _ _ _)). etrans. apply maponpaths. exact (pathsinv0 (CoequalizerArrowEq _ _)). apply (bifunctor_rightcomp V). } etrans. apply assoc. apply pathsinv0. etrans. apply assoc. etrans. apply assoc. apply cancel_postcomposition. assert (rel' : T ⊗^{V}_{l} inv_from_z_iso (rtisp_liso Cisp) · αinv^{V}_{_, _, _} · free_monoid_coeq_sequence_on I_{V} v ⊗^{V}_{r} A = free_monoid_coeq_sequence_on A v · inv_from_z_iso (rtisp_riso Cisp) ). { set (rel := rtisp_rel Cisp). apply (pre_comp_with_z_iso_is_inj (is_z_iso_leftwhiskering_z_iso V T _ (pr2 (rtisp_liso Cisp)))). etrans. apply assoc. etrans. apply cancel_postcomposition. { etrans. apply assoc. etrans. apply cancel_postcomposition. etrans. exact (pathsinv0 (bifunctor_leftcomp V _ _ _ _ _ _)). etrans. apply maponpaths. exact (pr122 (rtisp_liso Cisp)). apply (bifunctor_leftid V). apply id_left. } apply pathsinv0. apply (post_comp_with_z_iso_is_inj (rtisp_riso Cisp)). etrans. apply cancel_postcomposition, assoc. etrans. apply assoc'. etrans. apply cancel_precomposition. exact (pr222 (rtisp_riso Cisp)). etrans. apply id_right. apply (pre_comp_with_z_iso_is_inj (monoidal_associatorisolaw V _ _ _)). etrans. apply assoc. apply pathsinv0. etrans. apply assoc. etrans. apply cancel_postcomposition. { etrans. apply assoc. etrans. apply cancel_postcomposition. apply (monoidal_associatorisolaw V). apply id_left. } exact rel. } apply pathsinv0. etrans. apply cancel_precomposition. etrans. apply (bifunctor_rightcomp V). apply cancel_precomposition. apply (bifunctor_rightcomp V). etrans. apply assoc. etrans. apply cancel_postcomposition. exact rel'. etrans. apply assoc'. apply pathsinv0. etrans. apply assoc'. etrans. apply assoc'. apply cancel_precomposition. etrans. apply assoc. etrans. apply assoc4. etrans. apply cancel_postcomposition, cancel_precomposition. apply (whiskerscommutes V (bifunctor_equalwhiskers V)). etrans. apply cancel_postcomposition. etrans. apply assoc. apply cancel_postcomposition. apply (monoidal_leftunitorinvnat V). etrans. apply assoc'. etrans. apply cancel_precomposition. apply (monoidal_associatorinvnatright V). etrans. apply assoc. etrans. apply assoc4. etrans. apply cancel_postcomposition, cancel_precomposition. apply (monoidal_triangle_identity'_inv V). etrans. apply assoc'. reflexivity. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Limits.Graphs.Coequalizers UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Chains.Chains UniMath.Combinatorics.StandardFiniteSets UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.CategoriesOfMonoids UniMath.ModelCategories.Generated.GenericFreeMonoid UniMath.ModelCategories.Generated.MonoidalHelpers UniMath.ModelCategories.Helpers