proposition: Lemma vmap_weaken: forall (g1: Graph) (g2: Graph') x x0 BLA, (x = null /\ x0 = null \/ x0 = BLA) -> (~ vvalid g1 x /\ ~ vvalid g2 x0 \/ x0 = BLA).
proof: Proof. intros. destruct H; [left | right]; auto. destruct H. pose proof (@valid_not_null _ _ _ _ g1 _ (maGraph g1) x). pose proof (@valid_not_null' _ _ _ _ g2 _ (maGraph' g2) x0). unfold is_null_SGBA in *; simpl in *. auto. Qed.
imports: CertiGraph.lib.Ensembles_ext Coq.Lists.List VST.msl.seplog VST.msl.log_normalize VST.msl.ramification_lemmas VST.msl.Coqlib2 CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext CertiGraph.lib.relation_list CertiGraph.lib.Morphisms_ext CertiGraph.msl_ext.log_normalize CertiGraph.msl_ext.iter_sepcon 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 CertiGraph.graph.dag CertiGraph.graph.weak_mark_lemmas CertiGraph.graph.graph_morphism CertiGraph.graph.local_graph_copy CertiGraph.msl_application.Graph CertiGraph.msl_application.GraphBin CertiGraph.msl_application.Graph_Copy Coq.Logic.Classical