(** ** Properties of shifting *)

(* Specifications: *)
Lemma shiftpos_eq: forall x y, Zpos (shiftpos x y) = (Zpos x + Zpos y) - 1.
Lemma shiftpos_inj:
forall x y n, shiftpos x n = shiftpos y n -> x = y.
Lemma shiftpos_diff:
forall x y n, x <> y -> shiftpos x n <> shiftpos y n.
Lemma shiftpos_above:
forall x n, Ple n (shiftpos x n).
Lemma shiftpos_not_below:
forall x n, Plt (shiftpos x n) n -> False.
Lemma shiftpos_below:
forall x n, Plt (shiftpos x n) (Pos.add x n).
Lemma shiftpos_le:
forall x y n, Ple x y -> Ple (shiftpos x n) (shiftpos y n).