Definition inj_on_list {A B} (l : list A) (f : A -> B) :=
  forall x y, In x l -> In y l -> f x = f y -> x = y.Definition subset_rel {X} (sub lst : list X) : Prop :=
  forall x,
    In x sub ->
    In x lst.

Lemma NoDup_up_oram_tree : forall o dlt lvl p, NoDup (List.map block_blockid dlt) -> NoDup (List.map block_blockid (get_all_blks_tree o)) -> disjoint_list (List.map block_blockid (get_all_blks_tree o)) (List.map block_blockid dlt) -> NoDup (List.map block_blockid (get_all_blks_tree (up_oram_tr o lvl dlt p))).