Local Open Scope logic_base.
Local Open Scope syntax.
Section WandFrame.
Context {L: Language}
{minL: MinimunLanguage L}
{pL: PropositionalLanguage L}
{sL: SeparationLanguage L}
{Gamma: ProofTheory L}
{minAX: MinimunAxiomatization L Gamma}
{ipGamma: IntuitionisticPropositionalLogic L Gamma}
{sGamma: SeparationLogic L Gamma}.

(* Specifications: *)
Lemma wand_frame_intros: forall (x y: expr),
|-- x --> (y -* x * y).
Lemma wand_frame_elim: forall (x y: expr),
|-- x * (x -* y) --> y.
Lemma wand_frame_ver: forall (x y z: expr),
|-- (x -* y) * (y -* z) --> (x -* z).
Lemma wand_frame_hor: forall (x1 y1 x2 y2: expr),
|-- (x1 -* y1) * (x2 -* y2) --> (x1 * x2 -* y1 * y2).