Proof using.
Opaque sorted.
induction l; intros.
- split.
+ simpl in *. find_apply_lem_hyp contiguous_index_singleton. assumption.
+ apply contiguous_nil.
- destruct l.
+ simpl in *. find_copy_apply_lem_hyp contiguous_index_adjacent; auto.
find_apply_lem_hyp cons_contiguous_sorted; auto.
find_copy_apply_lem_hyp contiguous_index_singleton.
intuition. eapply contiguous_singleton_sufficient. omega.
+ simpl in *. find_copy_apply_lem_hyp contiguous_index_adjacent; auto.
find_apply_lem_hyp cons_contiguous_sorted; auto.
find_apply_lem_hyp sorted_cons_elim. split.
* eapply IHl; eauto.
* eapply contiguous_adjacent_sufficient; intuition.
eapply IHl; eauto.
Transparent sorted.
Qed.

Lemma sorted_app_gt :
forall l1 l2 e1 e2,
sorted (l1 ++ l2) ->
In e1 l1 ->
In e2 l2 ->
eIndex e1 > eIndex e2.