(* end semBindSizeMonotonic *)

Lemma semBindSizeMonotonicIncl_r {A B} (g : G A) (f : A -> G (option B)) (s1 : set A) (s2 : A -> set B) :
semGen g \subset s1 ->
(forall x, semGen (f x) \subset Some @: (s2 x) :|: [set None]) ->
semGen (bindGen g f) \subset Some @: (\bigcup_(a in s1) s2 a)  :|: [set None].