proposition: Lemma vvalid_vguard': forall (g: Graph') x, vvalid g x -> vguard g x.
proof: Proof. intros. pose proof binGraph' g. simpl. split; [| split; [| split]]. + apply @left_valid with (x := x) in H0; auto. + apply @right_valid with (x := x) in H0; auto. + pose proof (proj2 (only_two_edges x (x, L) H)). specialize (H1 (or_introl eq_refl)). tauto. + pose proof (proj2 (only_two_edges x (x, R) H)). specialize (H1 (or_intror eq_refl)). tauto. 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