(* general listd lemmas *)
Section ListDenoteLems.
Context {A T : Type}.
Variables (f : A -> T) (g : T -> T -> T) (b : T).

Lemma listd_flat_map h l (H : forall a b', g (f a) b' = listd f g b' (h a)) :
listd f g b l = listd f g b (flat_map h l).