(* définition des fonctions de modification des adresses *)

Definition uad_conv_0 (a : ad) : ad :=
  match a with
  | N0 => N0
  | Npos p => Npos (xO p)
  end.Definition uad_conv_1 (a : ad) : ad :=
  match a with
  | N0 => Npos 1
  | Npos p => Npos (xI p)
  end.

Lemma adcnv_disj : forall a : ad, exists b : ad, a = uad_conv_0 b \/ a = uad_conv_1 b.