proposition: Lemma map_fst_combine: forall {A B: Type} (a: list A) (b: list B), length a = length b -> map fst (combine a b) = a.
proof: Proof. intros. revert b H; induction a; intros; destruct b; try solve [inversion H]. + reflexivity. + simpl. f_equal. apply IHa. inv H. auto. Qed.
imports: Coq.Lists.List Coq.micromega.Lia Coq.Sorting.Permutation Coq.ZArith.ZArith_base Coq.ZArith.Zcomplements Coq.Logic.FunctionalExtensionality CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext VST.zlist.sublist VST.zlist.list_solver