Local Open Scope logic.
Fixpoint power_later (n:nat) P :=
match n with
| 0%nat => P
| S n' => later (power_later n' P)
end
.
Ltac power_normalize :=
repeat (
try rewrite -> power_later_andp;
try rewrite -> power_later_sepcon;
try rewrite <- power_later_TT)
.

Lemma power_prop_andp_sepcon:
forall (n:nat) P Q R, ((power_later n (!! P)) && Q) * R = (power_later n (!! P)) && (Q * R).