Ltac pull_right A := repeat (rewrite (pull_right A) || rewrite (pull_right0 A)).

(* Specifications: *)
Lemma pull_right0 {A} {JA: Join A}{PA: Perm_alg A}{SA: Sep_alg A}{agA: ageable A}{AgeA: Age_alg A}: forall P Q, (P * Q) = (Q * P).