proposition: Lemma mark_preserved_reach_decidable: forall m1 root m2 x, vvalid g root -> ReachDecidable g x (negateP m1) -> ReachDecidable g root (negateP m1) -> mark m1 root m2 -> ReachDecidable g x (negateP m2).
proof: Proof. intros. intro. destruct (X y). + apply (mark_unmarked_strong m1 root); auto. + right. intro. apply n. apply (mark_reverse_unmarked _ root m2); auto. Qed.
imports: Coq.Logic.ProofIrrelevance CertiGraph.lib.Ensembles_ext Coq.Lists.List Coq.Classes.Morphisms CertiGraph.lib.Coqlib CertiGraph.lib.List_ext CertiGraph.lib.EquivDec_ext VST.msl.Coqlib2 CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_computable CertiGraph.graph.reachable_ind CertiGraph.graph.graph_gen CertiGraph.graph.graph_relation CertiGraph.graph.subgraph2