Definition pure {A}{JA: Join A}{PA: Perm_alg A}{SA: Sep_alg A}
(P: pred A) : Prop :=
P |-- emp.

(* Specifications: *)
Lemma sepcon_pure_andp {A} {JA: Join A}{PA: Perm_alg A}{SA: Sep_alg A}:
forall P Q, pure P -> pure Q -> ((P * Q) = (P && Q)).
Lemma pure_sepcon_TT_andp {A} {JA: Join A}{PA: Perm_alg A}{SA: Sep_alg A}:
forall P Q, pure P -> (P * TT) && Q = (P*Q).
Lemma ewand_conflict {T}{JT: Join T}{PT: Perm_alg T}{ST: Sep_alg T}:
forall P Q R, sepcon P Q |-- FF -> andp P (ewand Q R) |-- FF.
Lemma ewand_TT_sepcon {T}{JT: Join T}{PT: Perm_alg T}{ST: Sep_alg T}:
forall P Q R,
(P * Q && ewand R (!!True))%pred |-- (P && ewand R (!!True) * (Q && ewand R (!!True)))%pred.