Definition F (A : Set) (f : ad -> A -> M) (r : ad * A) 
  (m : M) := let (a, y) := r in op (f a y) m.

Lemma my_fold_right_aapp : forall (A : Set) (f : ad -> A -> M) (l l' : alist A), R (fold_right (F A f) neutral (aapp _ l l')) (op (fold_right (F A f) neutral l) (fold_right (F A f) neutral l')).