proposition: Lemma graph_zig_zag_strong_induction_helper {g : graph} {P : vertex g -> UU} : ∏ n, ∏ (x y : vertex g), (P x) -> (∏ (a b : vertex g), P a -> (edge a b ⨿ edge b a) -> P b) -> graph_zig_zag_of_length n x y -> P y.
proof: Proof. intro n. induction n as [|n Hn]. - intros x y Hx _ gs. now rewrite <- gs. - intros x y Hx eind gs. destruct gs as [z [xz gs]]. use (Hn _ _ _ eind gs). exact (eind x z Hx xz). Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.Propositions UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Adjunctions.Core