Tactic Notation "assert_LOCAL" constr(A) :=
apply (assert_LOCAL A).
Tactic Notation "assert_LOCAL" constr(A) "by" tactic1(t) :=
apply (assert_LOCAL A); [ now t | ].

Lemma drop_LOCAL'':
forall (n: nat)  P Q R Post,
PROPx P (LOCALx (delete_nth n Q) (SEPx R)) |-- Post ->
PROPx P (LOCALx Q (SEPx R)) |-- Post.