Proof with simpl; auto.
intro A. induction l... split. simpl in A; destruct A as [[A B] | ].
rewrite listd_app, (@listd_unfold_un _ state); left...
rewrite listd_app, (@listd_unfold_un _ state); right...
apply IHl... simpl in A; destruct A as [[? ?] | ]. left... right...
Qed.

(* Specifications: *)
Lemma do_wellformed_sound cl :
clause_denote cl |-- setd clause_denote inter TT (do_wellformed cl).