Fixpoint pos_Rl (l:list R) (i:nat) : R :=
match l with
| nil => 0
| a :: l' => match i with
| O => a
| S i' => pos_Rl l' i'
end
end.

Lemma Rlist_P1 :
forall (l:list R) (P:R -> R -> Prop),
(forall x:R, In x l ->  exists y : R, P x y) ->
exists l' : list R,
length l = length l' /\
(forall i:nat, (i < length l)%nat -> P (pos_Rl l i) (pos_Rl l' i)).