Proof with simpl; auto.
intros H1 H2 H3.
generalize (negative_superposition_sound c d l0 s) as H4; intro.
generalize (positive_superposition_sound c d l0 s) as H5; intro.
specialize (H4 H1 H2 H3); specialize (H5 H1 H2 H3).
rewrite (@listd_unfold_inter _ state). split...
unfold sp. destruct ce...
Qed.

Lemma ef_aux_sound neg u0 u v pos0 pos l0 s :
(listd pure_atom_denote inter TT neg s ->
listd pure_atom_denote un FF
(merge pure_atom_cmp (List.rev pos0) (Eqv (Var u0) v :: pos)) s) ->
list_denote clause_denote inter TT l0 s ->
(Var u0 === u) s ->
listd clause_denote inter TT (ef_aux neg u0 u v pos0 pos l0) s.