Definition sproductl_1_def (s : state) : Prop :=
forall (a : ad) (p : prec_list) (c : ad) (r : prec_list),
MapGet prec_list (s_produit_l a p s) c = Some r ->
exists r0 : prec_list,
(exists r1 : prec_list,
MapGet prec_list (M1 prec_list a p) c = Some r0 /\
MapGet prec_list s c = Some r1).

(* Specifications: *)
Lemma sproductl_1_0 : sproductl_1_def (M0 prec_list).
Lemma sproductl_1_1 :
forall (a : ad) (a0 : prec_list), sproductl_1_def (M1 prec_list a a0).
Lemma sproductl_1_2 :
forall m : state,
sproductl_1_def m ->
forall m0 : state, sproductl_1_def m0 -> sproductl_1_def (M2 prec_list m m0).
Lemma sproductl_1_3 : forall m : state, sproductl_1_def m.
Lemma sproductl_1 :
forall (s : state) (a : ad) (p : prec_list) (c : ad) (r : prec_list),
MapGet prec_list (s_produit_l a p s) c = Some r ->
exists r0 : prec_list,
(exists r1 : prec_list,
MapGet prec_list (M1 prec_list a p) c = Some r0 /\
MapGet prec_list s c = Some r1).