Fixpoint forNats(n : nat) :=
  match n with
      | 0 => nil
      | S n' =>
        cons n' (forNats n')
  end.

Lemma getUnique_cons : forall (A : Set)(eqd : eq_dec A)(ls2 ls1 : list A) a, a :: ls1 = (getUnique ls2 eqd) -> exists ls3 ls4, ls2 = ls3 ++ (a :: ls4) /\ ls1 = (getUnique ls4 eqd).