Infix " == " := pequiv (at level 50, no associativity).

(* Specifications: *)
Lemma pequiv_sym P Q : P == Q -> Q == P.
Lemma pequiv_imp P Q : P == Q -> imp P Q.
Lemma sepcon_comm P Q : P ** Q == Q ** P.
Lemma sepcon_assoc P Q R : P ** (Q ** R) == (P ** Q) ** R.
Lemma sepcon_emp P : emp ** P == P.
Definition subheap m o := exists n, join m n o.
Lemma pequiv_sym P Q : P == Q -> Q == P.
Lemma pequiv_imp P Q : P == Q -> imp P Q.
Lemma sepcon_comm P Q : P ** Q == Q ** P.
Lemma sepcon_assoc P Q R : P ** (Q ** R) == (P ** Q) ** R.
Lemma sepcon_emp P : emp ** P == P.
Definition subheap m o := exists n, join m n o.
Lemma pequiv_sym P Q : P == Q -> Q == P.
Lemma pequiv_imp P Q : P == Q -> imp P Q.
Lemma sepcon_comm P Q : P ** Q == Q ** P.
Lemma sepcon_assoc P Q R : P ** (Q ** R) == (P ** Q) ** R.
Lemma sepcon_emp P : emp ** P == P.
Definition subheap m o := exists n, join m n o.