proposition: Lemma DoubleNoDup_cons_hd: forall k v l, DoubleNoDup ((k, v) :: l) -> k <> v.
proof: Proof. intros. unfold DoubleNoDup in H. simpl in H. destruct (split l) as [l1 l2]. simpl in H. apply NoDup_cons_2 in H. intro. subst. apply H. rewrite in_app_iff. right. left. reflexivity. 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