Require the definitions of the separation logic connectives and units on a carrier type PROP.
- Entails : PROP → PROP → Prop
- emp : PROP
- pure : Prop → PROP
- and : PROP → PROP → PROP
- or : PROP → PROP → PROP
- imp : PROP → PROP → PROP
- sForall : (PROP → Prop) → PROP
- sExists : (PROP → Prop) → PROP
- sep : PROP → PROP → PROP
- wand : PROP → PROP → PROP
- persistently : PROP → PROP
- later : PROP → PROP
Instances
Equations
- Iris.BI.BIBase.forall P = Iris.BI.BIBase.sForall fun (p : PROP) => ∃ (a : α), P a = p
Instances For
Equations
- Iris.BI.BIBase.exists P = Iris.BI.BIBase.sExists fun (p : PROP) => ∃ (a : α), P a = p
Instances For
Entailment on separation logic propositions.
Equations
- Iris.BI.BIBase.«term_⊢_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_⊢_» 25 29 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢ ") (Lean.ParserDescr.cat `term 25))
Instances For
Embedding of pure Lean proposition as separation logic proposition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Separating conjunction.
Equations
- Iris.BI.BIBase.«term_∗_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_∗_» 35 36 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗ ") (Lean.ParserDescr.cat `term 35))
Instances For
Separating implication.
Equations
- Iris.BI.BIBase.«term_-∗_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_-∗_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " -∗ ") (Lean.ParserDescr.cat `term 25))
Instances For
Persistency modality. persistently is a primitive of BI.
Equations
- Iris.BI.BIBase.«term<pers>_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term<pers>_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "<pers> ") (Lean.ParserDescr.cat `term 40))
Instances For
Later modality. later is a primitive of BI.
Equations
- Iris.BI.BIBase.«term▷_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term▷_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "▷ ") (Lean.ParserDescr.cat `term 40))
Instances For
Bidirectional implication on separation logic propositions.
Equations
- Iris.BI.BIBase.«term_↔_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_↔_» 27 28 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↔ ") (Lean.ParserDescr.cat `term 28))
Instances For
Bidrectional separating implication on separation logic propositions.
Equations
- Iris.BI.BIBase.«term_∗-∗_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_∗-∗_» 27 28 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗-∗ ") (Lean.ParserDescr.cat `term 28))
Instances For
Existential quantification on separation logic propositions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Absorbing modality, absorbingly.
def absorbingly (P) := True ∗ P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Entailment on separation logic propositions with an empty context.
Equations
- Iris.BI.BIBase.«term⊢_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term⊢_» 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊢ ") (Lean.ParserDescr.cat `term 25))
Instances For
Bidirectional entailment on separation logic propositions.
Equations
- Iris.BI.BIBase.«term_⊣⊢_» = Lean.ParserDescr.trailingNode `Iris.BI.BIBase.«term_⊣⊢_» 25 29 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊣⊢ ") (Lean.ParserDescr.cat `term 29))
Instances For
Intuitionistic modality.
def intuitionistically (P) := <affine> <pers> P
Equations
- Iris.BI.BIBase.«term□_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term□_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "□ ") (Lean.ParserDescr.cat `term 40))
Instances For
Conditional persistency modality.
def persistentlyIf (p : Bool) (P : PROP) := if p then <pers> P else P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional affine modality.
def affinelyIf (p : Bool) (P : PROP) := if p then <affine> P else P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional absorbing modality.
def absorbinglyIf (p : Bool) (P : PROP) := if p then <absorb> P else P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional intuitionistic modality.
def intuitionisticallyIf (p : Bool) (P : PROP) := if p then □ P else P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fold the conjunction ∧ over a list of separation logic propositions.
Equations
- ([∧] Ps) = Iris.Std.bigOp Iris.BI.BIBase.and iprop(True) Ps
Instances For
Fold the disjunction ∨ over a list of separation logic propositions.
Equations
- ([∨] Ps) = Iris.Std.bigOp Iris.BI.BIBase.or iprop(False) Ps
Instances For
Fold the separating conjunction ∗ over a list of separation logic propositions.
Equations
- ([∗] Ps) = Iris.Std.bigOp Iris.BI.BIBase.sep iprop(emp) Ps
Instances For
Equations
- Iris.BI.BIBase.«term[∧]_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term[∧]_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "[∧] ") (Lean.ParserDescr.cat `term 1024))
Instances For
Equations
- Iris.BI.BIBase.«term[∨]_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term[∨]_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "[∨] ") (Lean.ParserDescr.cat `term 1024))
Instances For
Equations
- Iris.BI.BIBase.«term[∗]_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term[∗]_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "[∗] ") (Lean.ParserDescr.cat `term 1024))
Instances For
Iterated later modality.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Except-0 modality
Equations
- Iris.BI.BIBase.«term◇_» = Lean.ParserDescr.node `Iris.BI.BIBase.«term◇_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "◇ ") (Lean.ParserDescr.cat `term 40))