proposition: Lemma Prop_join_reachable_parent: forall (g: UFGraph) x r pa, vvalid g x -> vgamma g x = (r, pa) -> Prop_join (reachable g pa) (Intersection _ (reachable g x) (Complement V (reachable g pa))) (reachable g x).
proof: Proof. intros. apply Ensemble_join_Intersection_Complement. - eapply gamma_parent_reachable_included; eauto. - intros. apply decidable_prop_decidable. pose proof (finGraph g). apply (@reachable_decidable_prime _ _ _ _ _ _ (maGraph g)). + apply LocalFiniteGraph_FiniteGraph; auto. + apply (valid_parent _ x r); auto. + apply FiniteGraph_EnumCovered; 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