(* Specifications: *)
Theorem sch : forall (p : nat) (t : nat_tree), search t -> {occ t p} + {~ occ t p}.
Theorem list2trees : forall l : list nat, {t : nat_tree | search t /\ (forall p : nat, In p l <-> occ t p)}.
Lemma list2trees_aux : forall (l : list nat) (t : nat_tree), search t -> {t' : nat_tree | search t' /\ (forall p : nat, In p l \/ occ t p <-> occ t' p)}.