proposition: Lemma guarded_morphism_weak_edge_prop: guarded_morphism -> Included PE (weak_edge_prop PV G) -> Included PE (evalid G) -> Included (image_set PE emap) (weak_edge_prop (image_set PV vmap) G').
proof: Proof. intros. unfold Included, Ensembles.In in H0, H1 |- *. intros. rewrite image_set_spec in H2. destruct H2 as [e [? ?]]; subst. unfold weak_edge_prop. rewrite image_set_spec. exists (src G e). split. + apply H0; auto. + symmetry; apply (src_preserved H); auto. apply H0; auto. Qed.
imports: CertiGraph.lib.Coqlib CertiGraph.lib.Ensembles_ext CertiGraph.lib.EquivDec_ext CertiGraph.lib.relation_list CertiGraph.lib.Morphisms_ext CertiGraph.lib.List_ext CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_ind CertiGraph.graph.subgraph2 CertiGraph.graph.graph_gen CertiGraph.graph.graph_relation