proposition: Lemma double_lift : forall M G (CS: correct_subst (lift M 1) (None :: lift_subst G 1)) (CS': correct_subst M G), subst CS = lift (subst CS') 1.
proof: Proof. intros. apply term_eq. destruct (subst_empty_dec G); autorewrite with terms datatypes using unfold liftedEnv; simpl; trivial. autorewrite with terms. replace (None :: lift_subst G 1) with (copy (S 0) None ++ lift_subst G 1); trivial. apply presubst_prelift_comm. Qed.
imports: CoLoR(RelExtras ListExtras TermsRed TermsConv LogicUtil) Coq(Setoid PeanoNat Lia)