Definition append_zig_zag_of_length {C : category} {n m : ℕ} {x y z : C} (fs : zig_zag_of_length n x y) (gs : zig_zag_of_length m y z) : zig_zag_of_length (n + m) x z. Proof. revert x y z fs gs. induction n as [ | n IHn ]. - intros x y z fs gs. exact (precomp_z_iso_zig_zag_of_length gs fs). - intros x y z fs gs. induction fs as [ w fs ]. induction fs as [ f fs ]. induction f as [ f | f ]. + exact (w ,, inl f ,, IHn w y z fs gs). + exact (w ,, inr f ,, IHn w y z fs gs). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Groupoids.