proposition: Lemma reachable_by_head_valid: forall (g : Gph) n1 n2 P, g |= n1 ~o~> n2 satisfying P -> vvalid g n1.
proof: Proof. repeat intro. destruct H as [p [[? _] [? _]]]. destruct p as [v p]. simpl in *. subst. destruct p; auto. destruct H0. simpl in H0. subst. destruct p; [|destruct H0 as [H0 _]]; destruct H0 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