proposition: Lemma reachable_by_path_split: forall (g: Gph) v p1 p2 n1 n2 P, g |= (v, p1 ++ p2) is n1 ~o~> n2 satisfying P -> g |= (v, p1) is n1 ~o~> pfoot g (v, p1) satisfying P /\ g |= (pfoot g (v, p1), p2) is pfoot g (v, p1) ~o~> n2 satisfying P.
proof: Proof. intros. apply reachable_by_path_split_glue; [unfold paths_meet_at; simpl | unfold path_glue; unfold fst, snd]; 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