proposition: Lemma Prop_join_reachable_right: forall (g: Graph) x d l r, vvalid g x -> vgamma g x = (d, l, r) -> Prop_join (reachable g r) (Intersection _ (reachable g x) (Complement addr (reachable g r))) (reachable g x).
proof: Proof. intros. apply Ensemble_join_Intersection_Complement. - eapply gamma_right_reachable_included; eauto. - intros. apply gamma_right_weak_valid in H0; [| auto]. apply decidable_prop_decidable, Graph_reachable_dec, weak_valid_vvalid_dec; auto. Qed.
imports: CertiGraph.lib.Ensembles_ext Coq.Lists.List VST.msl.seplog VST.msl.log_normalize CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext CertiGraph.msl_ext.log_normalize CertiGraph.msl_ext.iter_sepcon CertiGraph.msl_ext.seplog CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_computable CertiGraph.graph.reachable_ind CertiGraph.graph.subgraph2 CertiGraph.graph.graph_gen CertiGraph.graph.BinGraph CertiGraph.graph.MathGraph CertiGraph.graph.FiniteGraph CertiGraph.msl_application.Graph Coq.Logic.Classical