proposition: Lemma spanning_tree_root_reachable: forall (g1 g2: Graph) (root: V), ReachDecidable g1 root (unmarked g1) -> spanning_tree g1 root g2 -> forall x, reachable g2 root x -> reachable g1 root x.
proof: Proof. intros. destruct (X x). - apply reachable_by_is_reachable in r. auto. - apply spanning_tree_inj in H. destruct H. apply (SIMPLE_SPANNING_TREE.spanning_tree_not_reachable_derive _ root (unmarked g1) g2); auto. Qed.
imports: Coq.Classes.Morphisms CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext CertiGraph.lib.EnumEnsembles CertiGraph.lib.List_ext CertiGraph.lib.relation_list CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.graph_gen CertiGraph.graph.graph_relation CertiGraph.graph.subgraph2 CertiGraph.graph.reachable_ind Coq.Logic.Classical