intros dni; elim dni; clear dni.
intros ni; exists ni; trivial.
intros x; case x; clear x.
intros n k dni ih ni.
apply (ih (Decorated n k :: ni)).
Qed.
Inductive rev_app_spec (dni : decorated_nested_imps)
(ni : nested_imps) : Set :=
Rev_App_Spec_Intro :
forall dni_ni : nested_imps,
dni_ni = rev_app dni ni -> rev_app_spec dni ni.

Lemma rev_app_lemma1 :
forall (dni : decorated_nested_imps) (ni : nested_imps), rev_app_spec dni ni.