(** The p{^ th} element of [fin m] viewed as the p{^ th} element of
[fin (n + m)]
Really really inefficient !!! *)
Definition L_R {m} n (p : t m) : t (n + m).(** The p{^ th} element of [fin m] viewed as the (n + p){^ th} element of
[fin (n + m)] *)
Fixpoint R {m} n (p : t m) : t (n + m) :=
  match n with |0 => p |S n' => FS (R n' p) end.

(* Specifications: *)
Lemma R_sanity {m} n (p : t m) : proj1_sig (to_nat (R n p)) = n + proj1_sig (to_nat p).
Lemma R_inj {m} n (p q : t m) : R n p = R n q -> p = q.
Lemma L_R_neq n m (p : t n) (q : t m) : L m p <> R n q.