Lemma connected_graph_zig_zag_strong_induction_symmetric {g : graph} (x : vertex g) {y : vertex g} (H : is_connected g) (P : vertex g -> UU) (Hsymm : ∏ [a b : vertex g], edge b a -> (edge a b -> P b) -> P b) : (P x) -> (∏ (a b : vertex g), P a -> edge a b -> P b) -> P y. Proof. intros Px IHn. apply (connected_graph_zig_zag_strong_induction x H P Px). intros a b Pa e. destruct e. - apply (IHn a b Pa e). - apply (Hsymm a b e). intro e'. apply (IHn a b Pa e'). 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.