Proof with simpl; auto; try solve[congruence].
intros H1 H2. unfold simplify_atoms.
apply space_denote_foldl...
intros c sigma0 H3 H4.
destruct c. destruct gamma. destruct delta.
unfold rewrite_clause_in_space... apply space_denote_map_id...
destruct delta. destruct p. apply rewrite_clause_in_space_sound; auto.
destruct p; unfold rewrite_clause_in_space... apply space_denote_map_id...
destruct p; unfold rewrite_clause_in_space... apply space_denote_map_id...
unfold rewrite_clause_in_space... apply space_denote_map_id...
unfold rewrite_clause_in_space... apply space_denote_map_id...
Qed.

(* Specifications: *)
Lemma infer_list_sound ce c l s :
clause_denote c s -> listd clause_denote inter TT l s ->
listd clause_denote inter TT (infer ce c l) s.