proposition: Lemma gamma_parent_reachable_included: forall (g: UFGraph) x r pa, vvalid g x -> vgamma g x = (r, pa) -> Included (reachable g pa) (reachable g x).
proof: Proof. intros. intro y; intros. unfold vgamma in H0. destruct (projT2 isNullDec (dst g (out_edge x))). - inversion H0. auto. - apply edge_reachable_by with pa; auto. split; auto. split. + apply reachable_head_valid in H1; auto. + inversion H0. rewrite H4. rewrite (dst_step _ (liGraph g) _ _ H H4). auto. Qed.
imports: Coq.Sets.Ensembles Coq.Lists.List CertiGraph.lib.EquivDec_ext CertiGraph.lib.Coqlib CertiGraph.lib.Ensembles_ext CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_computable CertiGraph.graph.graph_gen CertiGraph.graph.FiniteGraph CertiGraph.graph.MathGraph CertiGraph.graph.LstGraph CertiGraph.graph.UnionFind