intros x x' ni1 ni2 in_nini.
elim (in_app_or_ni x ni1 ni2 in_nini); clear in_nini.
intros in_ni1; apply in_ni0_in_nini; assumption.
intros in_ni2; apply in_ni1_in_nini; right; assumption.
Qed.
(***********************************************************************)

(* Specifications: *)
Lemma rev_app_lemma0 :
forall (dni : decorated_nested_imps) (ni : nested_imps),
{dni_ni : nested_imps | dni_ni = rev_app dni ni}.