proposition: Lemma valid_path_app: forall g v p1 p2, valid_path g (v, p1 ++ p2) <-> valid_path g (v, p1) /\ valid_path g (pfoot g (v, p1), p2).
proof: Proof. intros. assert (paths_meet g (v, p1) (pfoot g (v, p1), p2)) by (exists (pfoot g (v, p1)); split; auto). split; intros. - apply valid_path_split; auto. - destruct H0. apply valid_path_merge in H; auto. Qed.
imports: Coq.Logic.ProofIrrelevance Coq.micromega.Lia CertiGraph.lib.Coqlib CertiGraph.lib.EnumEnsembles CertiGraph.lib.List_ext CertiGraph.lib.EquivDec_ext CertiGraph.graph.graph_model Coq.Lists.List Coq.Lists.ListDec