Proof with simpl; auto; try solve[congruence].
intro H1. apply setd_fold_left... intros c cls s0 H2 H3; apply setd_add...
unfold setd; rewrite empty_set_elems...
Qed.
Local Notation listd_unfold_state := (@listd_unfold_inter _ state).

Lemma do_unfold'_sound c1 c2 al s:
clause_denote c1 s -> clause_denote c2 s ->
listd clause_denote inter TT al s ->
listd clause_denote inter TT (do_unfold' c1 c2 al) s.