(* lemmes sur les images des applications précédentes *)

(* Specifications: *)
Lemma upl_conv_0_img :
forall (p : prec_list) (a : ad) (la ls : prec_list),
upl_conv_0 p = prec_cons a la ls ->
exists a0 : ad,
(exists la0 : prec_list,
(exists ls0 : prec_list, p = prec_cons a0 la0 ls0)).
Lemma upl_conv_0_img_0 :
forall (p : prec_list) (a : ad) (la ls : prec_list),
upl_conv_0 p = prec_cons a la ls ->
exists a0 : ad,
(exists la0 : prec_list,
(exists ls0 : prec_list,
p = prec_cons a0 la0 ls0 /\
a = uad_conv_0 a0 /\ la = upl_conv_0 la0 /\ ls = upl_conv_0 ls0)).
Lemma upl_conv_0_img_1 :
forall p : prec_list, upl_conv_0 p = prec_empty -> p = prec_empty.
Lemma upl_conv_1_img :
forall (p : prec_list) (a : ad) (la ls : prec_list),
upl_conv_1 p = prec_cons a la ls ->
exists a0 : ad,
(exists la0 : prec_list,
(exists ls0 : prec_list, p = prec_cons a0 la0 ls0)).
Lemma upl_conv_1_img_0 :
forall (p : prec_list) (a : ad) (la ls : prec_list),
upl_conv_1 p = prec_cons a la ls ->
exists a0 : ad,
(exists la0 : prec_list,
(exists ls0 : prec_list,
p = prec_cons a0 la0 ls0 /\
a = uad_conv_1 a0 /\ la = upl_conv_1 la0 /\ ls = upl_conv_1 ls0)).
Lemma upl_conv_1_img_1 :
forall p : prec_list, upl_conv_1 p = prec_empty -> p = prec_empty.