intros t1 t2 H; inversion H; auto.
absurd (length (t1 :: nil) = length (t0 :: t3 :: l2)).
simpl in |- *; intros; discriminate.
apply permutation_length with (1 := H0); auto.
Qed.

(* Specifications: *)
Lemma cover_inv_app_aux :
forall t t1 t2 l,
cover l t ->
t = node t1 t2 ->
l = node t1 t2 :: nil \/
(exists l1 : _,
(exists l2 : _, (cover l1 t1 /\ cover l2 t2) /\ permutation l (l1 ++ l2))).