From ChargeCore.Logics Require Import ILogic ILInsts BILInsts BILogic Pure.
From ChargeCore.SepAlg Require Import SepAlg.
Set Implicit Arguments.
Unset Strict Implicit.
Set Maximal Implicit Insertion.
Section IBILogicSect.
Context {A : Type} {ILOps : ILogicOps A} {BIOps: BILogicOps A}.
Context {BIL : BILogic A}.
Class IBILogic := {
ibil_bil :> BILogic A;
emp_trueE : |-- empSP
}.
End IBILogicSect.
Arguments IBILogic _ {ILOps BIOps} : rename.
Section IBILogicProperties.
Context {A : Type} `{HIBI: IBILogic A}.

(* Specifications: *)
Lemma sep_forget (p q : A) : p ** q |-- p.
Lemma ibilsepand (p q : A) : p ** q |-- p //\\ q.
End IBILogicProperties.