induction ls1; destruct ls3; intros; simpl in *; subst.
intuition.
omega.
omega.
inversion H0; clear H0; subst.
specialize (IHls1 ls2 ls3 ls4).
intuition.
f_equal.
eapply IHls1; intuition; omega.
eapply IHls1; intuition; omega.
Qed.

(* Specifications: *)
Theorem NoDup_app :
forall (A : Type)(ls1 ls2 : list A),
NoDup (ls1 ++ ls2) ->
NoDup ls1 /\
NoDup ls2 /\
(forall a1 a2,
In a1 ls1 ->
In a2 ls2 ->
a1 <> a2).