Fixpoint list_denote l : T :=
  match l with nil => b | x :: l' => g (f x) (list_denote l')
  end.Notation "'un'" := (@orp _).

Lemma listd_compose h1 h2 l (Hh1 : forall l, listd f g b l = listd f g b (h1 l)) (Hh2 : forall l, listd f g b l = listd f g b (h2 l)) : listd f g b l = listd f g b ((h1 oo h2) l).