Section SetDenoteLems.
Context (B : Type). Variables (f : clause -> pred B) (b : pred B).
Variable (h : M.t -> clause -> M.t).
Variable (H : forall c cls s, setd f inter b cls s -> f c s ->
setd f inter b (h cls c) s).
Proof with simpl; auto.
revert cls0; induction l... intros s0 [A C] D; apply IHl...
Qed.

Lemma setd_fold cls0 l s :
setd f inter b l s -> setd f inter b cls0 s ->
setd f inter b (M.fold (Basics.flip h) cls0 l) s.