(* The three cases of substitution of U for (Var n) *)

(* Specifications: *)
Lemma subst_eq :
forall (U : redexes) (n : nat), subst_rec_r (Var n) U n = lift_r n U.
Lemma subst_gt :
forall (U : redexes) (n p : nat),
n > p -> subst_rec_r (Var n) U p = Var (pred n).
Lemma subst_lt :
forall (U : redexes) (n p : nat), p > n -> subst_rec_r (Var n) U p = Var n.