Hint Rewrite @sepcon_emp @emp_sepcon @TT_andp @andp_TT
@exp_sepcon1 @exp_sepcon2
@exp_andp1 @exp_andp2
@sepcon_andp_prop @sepcon_andp_prop'
using (solve [auto with typeclass_instances])
: norm.

(* Specifications: *)
Lemma forall_pred_ext  {A}  {NA: NatDed A}: forall B (P Q: B -> A),
(ALL x : B, (P x <--> Q x)) |-- (ALL x : B, P x) <--> (ALL x: B, Q x) .
Lemma exists_pred_ext  {A} {NA: NatDed A}: forall B (P Q: B -> A),
(ALL x : B, (P x <--> Q x)) |-- (EX x : B, P x) <--> (EX x: B, Q x) .
Lemma imp_pred_ext  {A}  {NA: NatDed A}: forall B B' P Q,
(B <--> B') && (B --> (P <--> Q))
|-- (B --> P) <-->  (B' --> Q).
Lemma pull_right {A} {NA: NatDed A}{SA: SepLog A}:
forall P Q R : A,
(Q * P * R) = (Q * R * P).
Lemma pull_right0 {A} {NA: NatDed A}{SA: SepLog A}:
forall P Q : A,   (P * Q) = (Q * P).