Hint Rewrite @subst_lift1 (*@subst_lift1'*) @subst_lift1C  : subst.

(* Specifications: *)
Lemma subst_lift2:
forall {A1 A2 B} id v (f: A1 -> A2 -> B) a b,
subst id v (lift2 f a b) = lift2 f (subst id v a) (subst id v b).
Lemma subst_lift2':
forall {A1 A2 B} id v (f: A1 -> A2 -> B) a b,
subst id v (fun rho => f (a rho) (b rho)) = fun rho => f (subst id v a rho) (subst id v b rho).
Lemma subst_lift2C:
forall {A1 A2 B} id (v: environ -> val) (f: A1 -> A2 -> B) (a: environ -> A1) (b: environ -> A2),
subst id v (`f a b) = `f (subst id v a) (subst id v b).