Definition sproductr_1_def (s : state) : Prop :=
  forall (a : ad) (p : prec_list) (c : ad) (r : prec_list),
  MapGet prec_list (s_produit_r 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).

Lemma sproductr_1 : forall (s : state) (a : ad) (p : prec_list) (c : ad) (r : prec_list), MapGet prec_list (s_produit_r 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).