proposition: Lemma is_partial_lgraph_trans: forall g1 g2 g3, is_partial_lgraph g1 g2 -> is_partial_lgraph g2 g3 -> is_partial_lgraph g1 g3.
proof: Proof. intros. split. apply (is_partial_graph_trans g1 g2 g3). apply H. apply H0. destruct H as [? [? ?]]. destruct H0 as [? [? ?]]. unfold preserve_vlabel, preserve_elabel in *. split; intros. rewrite H1, H3; auto. apply H; auto. rewrite H2, H4; auto. apply H; 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 CertiGraph.graph.graph_gen