Definition post_cons_right_graph_zig_zag_of_length {g : graph} {n : nat} {x y z : vertex g} (gs : graph_zig_zag_of_length n x y) (f : edge z y) : graph_zig_zag_of_length (S n) x z. Proof. revert x y z gs f. induction n as [ | n IHn ]. - intros x y z gs f. exists z. split. * rewrite <- gs in f. exact (inr f). * reflexivity. - intros x y z gs f. induction gs as [ w gs ]. induction gs as [ g' gs ]. induction g' as [ g' | g' ]. + exact (w ,, inl g' ,, IHn _ _ _ gs f). + exact (w ,, inr g' ,, IHn _ _ _ gs f). Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.Propositions. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Adjunctions.Core.