proposition: Lemma split_combine : forall (l: list (A*B)), forall l1 l2, split l = (l1, l2) -> combine l1 l2 = l.
proof: Proof. intro l; induction l as [|a l IHl]. 1: simpl; auto. all: intuition; inversion H; auto. destruct (split l); simpl in *. inversion H1; subst; simpl. f_equal; auto. Qed.
imports: PeanoNat