proposition: Theorem In_combine_NoDup_eq_l : forall (A B : Set)(lsa : list A)(lsb : list B) a1 a2 b, NoDup lsb -> In (a1, b) (combine lsa lsb) -> In (a2, b) (combine lsa lsb) -> a1 = a2.
proof: Proof. induction lsa; intuition; simpl in *. intuition. destruct lsb. simpl in *. intuition. inversion H; clear H; subst. simpl in *. intuition. repeat pairInv. trivial. pairInv. eapply in_combine_r in H0. intuition. pairInv. eapply in_combine_r in H. intuition. eauto. Qed.
imports: FCF.Rat List Permutation Arith FCF.EqDec FCF.StdNat Bool Permutation