Ltac slurp :=
apply imp_lem0;
match goal with |-  app_pred (_ --> _)  ?st =>
repeat match goal with
| H: app_pred ?P st |- app_pred (?b --> ?c) st =>
(apply (@conjoin_hyp0 _ _ P c st H) ||
(apply (@conjoin_hyp1 _ _ P b c st H)));
clear H
end;
try (revert st; apply derives_e)
end.

Lemma later_andp {A} `{H : ageable A}:
forall P Q, |> (P && Q) = |>P && |>Q.