intros a0 a1 b k1 work ds ni1 ni2 ai a k_deco_sound0 complete.
unfold deco_sound in |- *.
intros k a2 a3 b0 in_k.
elim
(in_ni_x_ni_rev (Decorated (NImp a2 a3 b0) k) (Decorated (NImp a0 a1 b) k1)
ni1 ni2 in_k); clear in_k.
intros in_k.
elim (complete k a2 a3 b0 in_k); clear complete in_k.
intros k_is_mon k_forces_ngamma k_notforces_i0i1.
apply k_deco_sound_intro; try assumption.
apply forces_ngamma_shift_work_ni_x_ni; assumption.
intros eq.
generalize k_deco_sound0.
inversion_clear eq.
trivial.
Qed.
(********************************************************************)

(* Specifications: *)
Lemma deco_sound_le :
forall (ni1 ni2 : nested_imps) (work : nf_list) (ds : disjs)
(ai : atomic_imps) (a : atoms),
le_ni ni1 ni2 -> deco_sound work ds ni1 ai a -> deco_sound work ds ni2 ai a.