Library zoo_std.assume
From zoo Require Import
prelude.
From zoo.language Require Import
notations.
From zoo.diaframe Require Import
diaframe.
From zoo_std Require Export
base.
From zoo_std Require Import
diverge.
From zoo Require Import
options.
Definition assume : val :=
fun: "b" ⇒
if: ¬ "b" then
diverge ().
Section zoo_G.
Context `{zoo_G : !ZooG Σ}.
Lemma assume𑁒spec (b : bool) Φ :
▷ (⌜b = true⌝ → Φ ()%V) -∗
WP assume #b {{ Φ }}.
Lemma assume𑁒spec' ϕ `{!Decision ϕ} Φ :
▷ (⌜ϕ⌝ → Φ ()%V) -∗
WP assume #(bool_decide ϕ) {{ Φ }}.
End zoo_G.
#[global] Opaque assume.
prelude.
From zoo.language Require Import
notations.
From zoo.diaframe Require Import
diaframe.
From zoo_std Require Export
base.
From zoo_std Require Import
diverge.
From zoo Require Import
options.
Definition assume : val :=
fun: "b" ⇒
if: ¬ "b" then
diverge ().
Section zoo_G.
Context `{zoo_G : !ZooG Σ}.
Lemma assume𑁒spec (b : bool) Φ :
▷ (⌜b = true⌝ → Φ ()%V) -∗
WP assume #b {{ Φ }}.
Lemma assume𑁒spec' ϕ `{!Decision ϕ} Φ :
▷ (⌜ϕ⌝ → Φ ()%V) -∗
WP assume #(bool_decide ϕ) {{ Φ }}.
End zoo_G.
#[global] Opaque assume.