Skip to content
Snippets Groups Projects
Commit ffc30e68 authored by Jonas Kastberg's avatar Jonas Kastberg
Browse files

Nits

parent 0c069e7d
No related branches found
No related tags found
No related merge requests found
...@@ -43,10 +43,11 @@ Definition start_chan : val := λ: "f", ...@@ -43,10 +43,11 @@ Definition start_chan : val := λ: "f",
Definition send : val := Definition send : val :=
λ: "c" "v", λ: "c" "v",
let: "lk" := Snd "c" in let: "lk" := Snd "c" in
acquire "lk";;
let: "l" := Fst (Fst "c") in let: "l" := Fst (Fst "c") in
let: "r" := Snd (Fst "c") in
acquire "lk";;
lsnoc "l" "v";; lsnoc "l" "v";;
skipN (llength (Snd (Fst "c")));; (* "Ghost" operation for later stripping *) skipN (llength "r");; (* "Ghost" operation for later stripping *)
release "lk". release "lk".
Definition try_recv : val := Definition try_recv : val :=
......
...@@ -708,6 +708,7 @@ Section proto. ...@@ -708,6 +708,7 @@ Section proto.
- iApply iProto_le_recv. iIntros (v' p') "(->&Hp&$) !>". - iApply iProto_le_recv. iIntros (v' p') "(->&Hp&$) !>".
iExists p2. iSplit; [|by auto]. iIntros "!>". by iRewrite -"Hp". iExists p2. iSplit; [|by auto]. iIntros "!>". by iRewrite -"Hp".
Qed. Qed.
Lemma iProto_le_base_swap v1 v2 P1 P2 p : Lemma iProto_le_base_swap v1 v2 P1 P2 p :
(<?> MSG v1 {{ P1 }}; <!> MSG v2 {{ P2 }}; p) (<?> MSG v1 {{ P1 }}; <!> MSG v2 {{ P2 }}; p)
(<!> MSG v2 {{ P2 }}; <?> MSG v1 {{ P1 }}; p). (<!> MSG v2 {{ P2 }}; <?> MSG v1 {{ P1 }}; p).
...@@ -1297,6 +1298,7 @@ Section proto. ...@@ -1297,6 +1298,7 @@ Section proto.
FromModal (modality_instances.modality_laterN 1) (p1 p2) FromModal (modality_instances.modality_laterN 1) (p1 p2)
((<a> MSG v; p1) (<a> MSG v; p2)) (p1 p2). ((<a> MSG v; p1) (<a> MSG v; p2)) (p1 p2).
Proof. apply iProto_le_base. Qed. Proof. apply iProto_le_base. Qed.
End proto. End proto.
Typeclasses Opaque iProto_ctx iProto_own. Typeclasses Opaque iProto_ctx iProto_own.
......
From actris.channel Require Import proofmode proto channel. From actris.channel Require Import proofmode proto channel.
From actris.logrel Require Import subtyping_rules.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
From actris.utils Require Import llist. From actris.utils Require Import llist.
......
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