proposition: Lemma makeSet_evalid: forall size e, evalid (makeSet_discrete_PreGraph size) e <-> 0 <= e < Z.of_nat size.
proof: Proof. induction size; simpl; intros; split; intros. - exfalso. auto. - destruct H; intuition. - unfold addValidFunc in H. rewrite Zpos_P_of_succ_nat, <- Z.add_1_r. destruct H; [apply IHsize in H | subst e]; intuition. - unfold addValidFunc. rewrite Zpos_P_of_succ_nat, <- Z.add_1_r in H. rewrite IHsize. lia. Qed.
imports: Coq.Logic.Classical Coq.Lists.List Coq.Sets.Ensembles Coq.ZArith.ZArith Coq.micromega.Lia VST.msl.seplog VST.msl.log_normalize VST.zlist.sublist compcert.lib.Integers CertiGraph.lib.Coqlib CertiGraph.lib.Ensembles_ext CertiGraph.lib.EquivDec_ext CertiGraph.lib.Relation_ext CertiGraph.lib.List_ext CertiGraph.graph.graph_model CertiGraph.graph.weak_mark_lemmas CertiGraph.graph.path_lemmas CertiGraph.graph.graph_gen CertiGraph.graph.graph_relation CertiGraph.graph.subgraph2 CertiGraph.graph.reachable_computable CertiGraph.graph.FiniteGraph CertiGraph.graph.MathGraph CertiGraph.graph.LstGraph CertiGraph.msl_application.UnionFindGraph