Proof using.
intros l l' Hnd Hp.
induction Hp; auto; invc_NoDup; constructor;
eauto using Permutation_in, Permutation_sym;
simpl in *; intuition.
Qed.

(* Specifications: *)
Theorem NoDup_append :
forall l (a : A),
NoDup (l ++ [a]) <-> NoDup (a :: l).