Definition packaged_expand_U_dyadic :
  { f:nat->Ensemble (point_set X) |
    (forall m:nat, open (f m)) /\
    (forall m:nat, Included (closure (f m)) (f (S m))) } ->
  { f:nat->Ensemble (point_set X) |
    (forall m:nat, open (f m)) /\
    (forall m:nat, Included (closure (f m)) (f (S m))) }.Definition U_dyadic_level_n (n:nat) :
  { f:nat->Ensemble (point_set X) |
    (forall m:nat, open (f m)) /\
    (forall m:nat, Included (closure (f m)) (f (S m))) }.Definition U_dyadic (x:dyadic_rational) :
  Ensemble (point_set X) :=
match x with
| m_over_2_to_n m n => (proj1_sig (U_dyadic_level_n n)) m
end.

Lemma U_dyadic_open: forall x:dyadic_rational, open (U_dyadic x).