Lemma graph_zig_zag_strong_induction {g : graph} {x y : vertex g} (gs : graph_zig_zag x y) : ∏ (P : vertex g -> UU), (P x) -> (∏ (a b : vertex g), P a -> (edge a b ⨿ edge b a) -> P b) -> P y. Proof. intros P Hx Hind. destruct gs as [n gs]. use graph_zig_zag_strong_induction_helper. - exact n. - exact x. - exact Hx. - exact Hind. - exact gs. 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.