proposition: Lemma reachable_by_path_split_in: forall (g : Gph) P p n n1 n2, g |= p is n1 ~o~> n2 satisfying P -> In_path g n p -> exists p1 p2, p = p1 +++ p2 /\ g |= p1 is n1 ~o~> n satisfying P /\ g |= p2 is n ~o~> n2 satisfying P.
proof: Proof. intros. apply in_path_split in H0. + destruct H0 as [p1 [p2 [? ?]]]. subst p. exists p1, p2. split; auto. apply reachable_by_path_split_glue; auto. + destruct H as [? [? ?]]; 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