Proof with simpl; auto.
intros H0; induction l... intros [H1 H2]; destruct a as [e e0].
spec IHl H2. remember (isEq (expr_cmp e1 e0)). destruct b...
split; auto.
apply var_eq_trans with (y:=e0)...
apply var_eq_trans with (y:=e1)...
do_comp expr_cspec e1 e0; try solve[simpl in Heqb; congruence].
split; auto.
Qed.

(* Specifications: *)
Lemma expr_merge_sound e1 e2 l s :
expr_eqs_denote l s -> (e1 === e2) s ->
expr_eqs_denote (expr_merge e1 e2 l) s.