proposition: Lemma remove_edge_preserves_strong_evalid: forall g e e', (strong_evalid g e' /\ e <> e' <-> strong_evalid (pregraph_remove_edge g e) e').
proof: Proof. intros; split; intros. destruct H. destruct H as [? [? ?]]. split. apply remove_edge_evalid. split; auto. simpl. split; auto. destruct H as [? [? ?]]. rewrite remove_edge_evalid in H. destruct H. split. split. auto. simpl in H0, H1. split; auto. auto. Qed.
imports: Coq.Logic.ProofIrrelevance Coq.Sets.Ensembles Coq.Sets.Finite_sets Coq.Classes.Morphisms CertiGraph.lib.Coqlib CertiGraph.lib.Ensembles_ext CertiGraph.lib.relation_list CertiGraph.lib.List_ext CertiGraph.lib.Equivalence_ext CertiGraph.lib.EquivDec_ext VST.msl.Coqlib2 Coq.Lists.List CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_ind