proposition: Lemma algebraicSubstitution_lifted : forall G i, algebraicSubstitution G -> algebraicSubstitution (lift_subst G i).
proof: Proof. induction G; trivial. intros i aG. destruct a; simpl. apply algebraicSubstitution_cons_some. apply IHG. apply algebraicSubstitution_cons_rev with (Some t); trivial. apply algebraic_lift. apply (aG 0); fo. apply algebraicSubstitution_cons_none. apply IHG; trivial. apply algebraicSubstitution_cons_rev with (None (A:=Term)); trivial. Qed.
imports: CoLoR(RelExtras ListExtras TermsEta LogicUtil) Coq(Morphisms)