Skip to content
Snippets Groups Projects
Verified Commit 40da12c2 authored by Rodolphe Lepigre's avatar Rodolphe Lepigre
Browse files

Generalization suggested by @dfrumin

parent d9402cba
No related branches found
No related tags found
No related merge requests found
...@@ -309,8 +309,10 @@ Proof. ...@@ -309,8 +309,10 @@ Proof.
iModIntro. iSplit=>//. iSplit; first done. iFrame. by iApply "HΦ". iModIntro. iSplit=>//. iSplit; first done. iFrame. by iApply "HΦ".
Qed. Qed.
Lemma wp_new_proph : Lemma wp_new_proph s E :
{{{ True }}} NewProph {{{ vs p, RET (LitV (LitProphecy p)); proph p vs }}}. {{{ True }}}
NewProph @ s; E
{{{ vs p, RET (LitV (LitProphecy p)); proph p vs }}}.
Proof. Proof.
iIntros (Φ) "_ HΦ". iApply wp_lift_atomic_head_step_no_fork; auto. iIntros (Φ) "_ HΦ". iApply wp_lift_atomic_head_step_no_fork; auto.
iIntros (σ1 κ κs n) "[Hσ HR] !>". iSplit; first by eauto. iIntros (σ1 κ κs n) "[Hσ HR] !>". iSplit; first by eauto.
...@@ -319,9 +321,9 @@ Proof. ...@@ -319,9 +321,9 @@ Proof.
iModIntro; iSplit=> //. iFrame. by iApply "HΦ". iModIntro; iSplit=> //. iFrame. by iApply "HΦ".
Qed. Qed.
Lemma wp_resolve_proph p vs v : Lemma wp_resolve_proph s E p vs v :
{{{ proph p vs }}} {{{ proph p vs }}}
ResolveProph (Val $ LitV $ LitProphecy p) (Val v) ResolveProph (Val $ LitV $ LitProphecy p) (Val v) @ s; E
{{{ vs', RET (LitV LitUnit); vs = v::vs' proph p vs' }}}. {{{ vs', RET (LitV LitUnit); vs = v::vs' proph p vs' }}}.
Proof. Proof.
iIntros (Φ) "Hp HΦ". iApply wp_lift_atomic_head_step_no_fork; auto. iIntros (Φ) "Hp HΦ". iApply wp_lift_atomic_head_step_no_fork; auto.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment