proposition: Lemma sub_inv : forall t, sub s1 (sub s2 t) = t.
proof: Proof. intro t; pattern t; apply term_ind with (Q := fun n (ts : terms n) => Vmap (sub s1) (Vmap (sub s2) ts) = ts); simpl; intros. apply hyp. rewrite H. refl. refl. rewrite H, H0. refl. Qed.
imports: CoLoR(AInterpretation AContext VecUtil NatUtil LogicUtil ListUtil EqUtil)