Lemma subTermsExch : forall (n : nat) (ts : Terms n) (v1 v2 : nat) (s1 s2 : Term), v1 <> v2 -> ~ In v2 (freeVarTerm L s1) -> ~ In v1 (freeVarTerm L s2) -> substituteTerms L n (substituteTerms L n ts v1 s1) v2 s2 = substituteTerms L n (substituteTerms L n ts v2 s2) v1 s1.