intros.
elim H; intros. elim H0. intros. left. split with (xI x).
simpl in |- *. rewrite <- H1. trivial. elim H0; intros. elim H1. intros.
right. right. split with (xO x). split with 1%positive. simpl in |- *. rewrite H2.
trivial. elim H1. intros. elim H2. intros. right. right.
split with (xO x). split with (xI x0). simpl in |- *. rewrite H3.
trivial.
Qed.

(* Specifications: *)
Lemma iad_conv_surj_2 :
forall p : positive, iad_conv_prop p -> iad_conv_prop (xI (xO p)).
Lemma iad_conv_surj_3 :
forall p : positive, iad_conv_prop p -> iad_conv_prop (xI (xI p)).
Lemma iad_conv_surj_4 :
forall p : positive,
iad_conv_prop p /\ iad_conv_prop (xO p) /\ iad_conv_prop (xI p).
Lemma iad_conv_surj_5 : forall p : positive, iad_conv_prop p.
Lemma iad_conv_surj :
forall a : ad, exists b : ad, (exists c : ad, a = iad_conv b c).