Proof with simpl; auto.
intro H1; rewrite <-rewrite_by_eqv...
Qed.

(* Specifications: *)
Lemma rewrite_by_complete s t atm st :
(s === t) st -> pure_atom_denote (rewrite_by s t atm) st ->
pure_atom_denote atm st.
Lemma demodulate_sound c d s :
clause_denote c s -> clause_denote d s ->
clause_denote (demodulate c d) s.
Lemma rewrite_by_complete s t atm st :
(s === t) st -> pure_atom_denote (rewrite_by s t atm) st ->
pure_atom_denote atm st.