(* Commuting unmark and subst *)

(* Specifications: *)
Lemma unmark_lift_rec :
forall (U : redexes) (n k : nat),
lift_rec (unmark U) k n = unmark (lift_rec_r U k n).
Lemma unmark_lift :
forall (U : redexes) (n : nat), lift n (unmark U) = unmark (lift_r n U).
Lemma unmark_subst_rec :
forall (V U : redexes) (n : nat),
subst_rec (unmark U) (unmark V) n = unmark (subst_rec_r U V n).
Lemma unmark_subst :
forall U V : redexes, subst (unmark U) (unmark V) = unmark (subst_r U V).
Lemma completeness :
forall U V W : redexes, residuals U V W -> par_red1 (unmark U) (unmark W).