Skip to content

Commit a9a31fd

Browse files
jihgfeeineol
authored andcommitted
Bump branch
1 parent a307a7d commit a9a31fd

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

fairneris/aneris_lang/lifting.v

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ Opaque aneris_state_interp.
256256
Notation state_interp_oos ζ α := (aneris_state_interp_opt (Some (ζ,α))).
257257

258258
Definition sswp `{LM:LiveModel aneris_lang (joint_model M Net)}
259+
`{!LiveModelEq LM}
259260
`{!anerisG LM Σ} (s : stuckness)
260261
E ζ (e1:aneris_expr) (Φ : aneris_expr → option (action aneris_lang) → iProp Σ) : iProp Σ :=
261262
⌜TCEq (aneris_to_val e1) None⌝ ∧
@@ -273,13 +274,15 @@ Definition sswp `{LM:LiveModel aneris_lang (joint_model M Net)}
273274
atr ∗ Φ e2 α ∗ ⌜efs = []⌝.
274275

275276
Definition MU `{LM:LiveModel aneris_lang (joint_model M Net)}
277+
`{!LiveModelEq LM}
276278
`{!anerisG LM Σ} E ζ α (P : iProp Σ) : iProp Σ :=
277279
∀ (extr : execution_trace aneris_lang) (atr : auxiliary_trace LM),
278280
state_interp_oos ζ α extr atr ={E}=∗
279281
∃ δ2 ℓ, state_interp extr (trace_extend atr ℓ δ2) ∗ P.
280282

281283
Lemma sswp_MU_wp_fupd `{LM:LiveModel aneris_lang (joint_model M Net)}
282-
`{!anerisG LM Σ} s E E' ζ e Φ :
284+
`{!LiveModelEq LM}
285+
`{!anerisG LM Σ} s E E' ζ e Φ :
283286
(|={E,E'}=> sswp s E' ζ e (λ e' α, MU E' ζ α ((|={E',E}=> WP e' @ s; ζ; E {{ Φ }}))))%I -∗
284287
WP e @ s; ζ; E {{ Φ }}.
285288
Proof.
@@ -300,7 +303,8 @@ Proof.
300303
Qed.
301304

302305
Lemma sswp_wand `{LM:LiveModel aneris_lang (joint_model M Net)}
303-
`{!anerisG LM Σ} s E ζ e
306+
`{!LiveModelEq LM}
307+
`{!anerisG LM Σ} s E ζ e
304308
(Φ Ψ : aneris_expr → option (action aneris_lang) → iProp Σ) :
305309
(∀ e α, Φ e α -∗ Ψ e α) -∗ sswp s E ζ e Φ -∗ sswp s E ζ e Ψ.
306310
Proof.
@@ -316,7 +320,8 @@ Proof.
316320
Qed.
317321

318322
Lemma MU_wand `{LM:LiveModel aneris_lang (joint_model M Net)}
319-
`{!anerisG LM Σ} E ζ α (P Q : iProp Σ) :
323+
`{!LiveModelEq LM}
324+
`{!anerisG LM Σ} E ζ α (P Q : iProp Σ) :
320325
(P -∗ Q) -∗ MU E ζ α P -∗ MU E ζ α Q.
321326
Proof.
322327
rewrite /MU. iIntros "HPQ HMU".
@@ -326,7 +331,8 @@ Proof.
326331
Qed.
327332

328333
Lemma sswp_MU_wp `{LM:LiveModel aneris_lang (joint_model M Net)}
329-
`{!anerisG LM Σ} s E ζ e (Φ : aneris_val → iProp Σ) :
334+
`{!LiveModelEq LM}
335+
`{!anerisG LM Σ} s E ζ e (Φ : aneris_val → iProp Σ) :
330336
sswp s E ζ e (λ e' α, MU E ζ α (WP e' @ s; ζ; E {{ Φ }})) -∗
331337
WP e @ s; ζ; E {{ Φ }}.
332338
Proof.
@@ -337,11 +343,11 @@ Qed.
337343

338344
Section primitive_laws.
339345
Context `{LM: LiveModel aneris_lang (joint_model Mod net_model)}.
346+
Context `{!LiveModelEq LM}.
340347
Context `{aG : !anerisG LM Σ}.
341348

342349
Implicit Types P Q : iProp Σ.
343350
Implicit Types Φ : aneris_val → iProp Σ.
344-
Implicit Types v : val aneris_lang.
345351
Implicit Types e : expr aneris_lang.
346352
Implicit Types σ : base_lang.state.
347353
Implicit Types M R T : message_soup.

0 commit comments

Comments
 (0)