Definition contained (l: list ident) (g1 g2: generator) : Prop :=
  forall id, In id l -> within id g1 g2.

Lemma contained_widen: forall l g1 g2 g1' g2', contained l g1 g2 -> Ple (gen_next g1') (gen_next g1) -> Ple (gen_next g2) (gen_next g2') -> contained l g1' g2'.