fact: Definition spanning_tree (g1 : Graph) (root : V) (P: V -> Prop) (g2: Graph) := (predicate_partialgraph g1 (fun n => ~ g1 |= root ~o~> n satisfying P)) ~=~ (predicate_partialgraph g2 (fun n => ~ g1 |= root ~o~> n satisfying P)) /\ (P root -> is_tree (predicate_partialgraph g2 (reachable_by g1 root P)) root) /\ (forall n, g1 |= root ~o~> n satisfying P -> reachable g2 root n) /\ (forall a b, g1 |= root ~o~> a satisfying P -> ~ g1 |= root ~o~> b satisfying P -> ~ reachable g2 a b).
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