(** sorted *)
Fixpoint sorted {T : Type} (Ord : T -> T -> Prop) (s : seq T) :=
match s with
| [::] | [:: _] => True
| h0 :: (h1 :: t1) as t0 => Ord h0 h1 /\ sorted Ord t0
end.

Lemma sorted_head (s : seq R) i :
sorted Rle s -> (i < size s)%nat -> forall x0, head x0 s <= nth x0 s i.