Proof with try solve [simpl; auto | congruence].
intros A B. destruct atm as [e e0]... destruct B as [s1 B]. simpl.
solve [eapply state_join_var_eq; eauto].
Qed.

(* Specifications: *)
Lemma listd_pure_atomdi atms s0 s :
listd pure_atom_denote inter TT atms s0 -> join_sub s0 s ->
listd pure_atom_denote inter TT atms s.