intros dni; elim dni; clear dni.
intros ni; simpl in |- *.
trivial.
intros a; case a; clear a.
intros x k dni ih ni.
simpl in |- *.
rewrite (ih (Decorated x k :: ni)).
rewrite (ih (Decorated x k :: NNil)).
symmetry  in |- *.
apply (app_ass (rev_app dni NNil) (Decorated x k :: NNil) ni).
Qed.

(* Specifications: *)
Lemma in_app_or_ni :
forall (x : nested_imp) (ni1 ni2 : nested_imps),
In x (ni1 ++ ni2) -> In x ni1 \/ In x ni2.