(* Compute all the leaves *)
Fixpoint all_pbleaves (t : pbtree) : list A :=
  match t with
  | pbleaf a => a :: nil
  | pbleft t1 => all_pbleaves t1
  | pbright t1 => all_pbleaves t1
  | pbnode t1 t2 => all_pbleaves t1 ++ all_pbleaves t2
  end.

Theorem ulist_pbadd_prop2 : forall a1 l1 t, ~ inpb (pbleaf a1) t -> ulist (all_pbleaves t) -> ulist (all_pbleaves (pbadd a1 t l1)).