Skip to content
Snippets Groups Projects
Commit a4e7cd6b authored by Ralf Jung's avatar Ralf Jung
Browse files

bump Iris, adjust for TCEq changes

parent b7718c90
No related branches found
No related tags found
No related merge requests found
Pipeline #24958 passed
...@@ -14,7 +14,7 @@ the type system, and safety proof for some Rust libraries. ...@@ -14,7 +14,7 @@ the type system, and safety proof for some Rust libraries.
""" """
depends: [ depends: [
"coq-iris" { (= "dev.2020-02-25.0.55283d57") | (= "dev") } "coq-iris" { (= "dev.2020-02-25.3.bb9152ec") | (= "dev") }
] ]
build: [make "-j%{jobs}%"] build: [make "-j%{jobs}%"]
......
...@@ -252,7 +252,7 @@ Section code. ...@@ -252,7 +252,7 @@ Section code.
[solve_typing..|]. [solve_typing..|].
iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hclose4]". iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hclose4]".
wp_bind (!_)%E. iApply (wp_step_fupd with "[Hshr Hα2β]"); wp_bind (!_)%E. iApply (wp_step_fupd with "[Hshr Hα2β]");
[done| |by iApply ("Hshr" with "[] Hα2β")|]; first done. [|by iApply ("Hshr" with "[] Hα2β")|]; first done.
wp_read. iIntros "[#Hshr Hα2β] !>". wp_let. wp_read. iIntros "[#Hshr Hα2β] !>". wp_let.
iDestruct ("Hclose4" with "Hα2β") as "[Hβ Hα2]". iDestruct ("Hclose4" with "Hα2β") as "[Hβ Hα2]".
iMod ("Hclose3" with "Hβ HL") as "HL". iMod ("Hclose3" with "Hβ HL") as "HL".
......
...@@ -695,7 +695,7 @@ Section code. ...@@ -695,7 +695,7 @@ Section code.
- subst strong. wp_op. wp_if. wp_op. - subst strong. wp_op. wp_if. wp_op.
rewrite shift_loc_0. wp_write. wp_bind (#☠;;#☠)%E. rewrite shift_loc_0. wp_write. wp_bind (#☠;;#☠)%E.
iApply (wp_step_fupd with "[Hproto Hrc]"); iApply (wp_step_fupd with "[Hproto Hrc]");
[| |by iApply ("Hproto" with "Hrc")|]; [|by iApply ("Hproto" with "Hrc")|];
[done..|wp_seq; iIntros "(Hty&H†&Hna&Hproto) !>"]. [done..|wp_seq; iIntros "(Hty&H†&Hna&Hproto) !>"].
rewrite <-freeable_sz_full_S, <-(freeable_sz_split _ 2 ty.(ty_size)). rewrite <-freeable_sz_full_S, <-(freeable_sz_split _ 2 ty.(ty_size)).
iDestruct "H†" as "[H†1 H†2]". wp_seq. wp_bind (_<-_;;_)%E. iDestruct "H†" as "[H†1 H†2]". wp_seq. wp_bind (_<-_;;_)%E.
...@@ -790,7 +790,7 @@ Section code. ...@@ -790,7 +790,7 @@ Section code.
iDestruct "Hc" as "[[% [_ Hproto]]|[% [_ Hproto]]]". iDestruct "Hc" as "[[% [_ Hproto]]|[% [_ Hproto]]]".
- subst strong. wp_bind (#1 = #1)%E. - subst strong. wp_bind (#1 = #1)%E.
iApply (wp_step_fupd with "[Hproto Hrc]"); iApply (wp_step_fupd with "[Hproto Hrc]");
[| |by iApply ("Hproto" with "Hrc")|]; [|by iApply ("Hproto" with "Hrc")|];
[done..|wp_op; iIntros "(Hty&H†&Hna&Hproto) !>"; wp_if]. [done..|wp_op; iIntros "(Hty&H†&Hna&Hproto) !>"; wp_if].
rewrite <-freeable_sz_full_S, <-(freeable_sz_split _ 2 ty.(ty_size)). rewrite <-freeable_sz_full_S, <-(freeable_sz_split _ 2 ty.(ty_size)).
iDestruct "H†" as "[H†1 H†2]". wp_bind (_<-_;;_)%E. iDestruct "H†" as "[H†1 H†2]". wp_bind (_<-_;;_)%E.
......
...@@ -36,7 +36,7 @@ Section refmut_functions. ...@@ -36,7 +36,7 @@ Section refmut_functions.
[solve_typing..|]. [solve_typing..|].
iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hcloseβα2]". iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hcloseβα2]".
wp_bind (!#lx')%E. iApply (wp_step_fupd with "[Hα2β]"); wp_bind (!#lx')%E. iApply (wp_step_fupd with "[Hα2β]");
[done| |by iApply ("Hshr" with "[] Hα2β")|]; first done. [|by iApply ("Hshr" with "[] Hα2β")|]; first done.
iMod "H↦" as "[H↦1 H↦2]". wp_read. iIntros "[#Hshr' Hα2β] !>". wp_let. iMod "H↦" as "[H↦1 H↦2]". wp_read. iIntros "[#Hshr' Hα2β] !>". wp_let.
iDestruct ("Hcloseβα2" with "Hα2β") as "[Hβ Hα2]". iDestruct ("Hcloseβα2" with "Hα2β") as "[Hβ Hα2]".
iMod ("Hcloseα1" with "[$H↦1 $H↦2]") as "Hα1". iMod ("Hcloseα1" with "[$H↦1 $H↦2]") as "Hα1".
...@@ -152,7 +152,7 @@ Section refmut_functions. ...@@ -152,7 +152,7 @@ Section refmut_functions.
iDestruct "Hq" as (q' ?) "?". iExists (q+q')%Qp. iFrame. iDestruct "Hq" as (q' ?) "?". iExists (q+q')%Qp. iFrame.
rewrite assoc (comm _ q'' q) //. } rewrite assoc (comm _ q'' q) //. }
wp_bind Endlft. iApply (wp_mask_mono _ (lftN)); first done. wp_bind Endlft. iApply (wp_mask_mono _ (lftN)); first done.
iApply (wp_step_fupd with "INV"); [done|set_solver|]. wp_seq. iIntros "{Hb} Hb !>". iApply (wp_step_fupd with "INV"); [set_solver|]. wp_seq. iIntros "{Hb} Hb !>".
iMod ("Hcloseβ" with "Hb Hna") as "[Hβ Hna]". iMod ("Hcloseβ" with "Hb Hna") as "[Hβ Hna]".
iMod ("Hcloseα" with "Hβ") as "Hα". iMod ("Hclose" with "Hα HL") as "HL". wp_seq. iMod ("Hcloseα" with "Hβ") as "Hα". iMod ("Hclose" with "Hα HL") as "HL". wp_seq.
iApply (type_type _ _ _ [ #lx box (uninit 2)] iApply (type_type _ _ _ [ #lx box (uninit 2)]
......
...@@ -119,7 +119,7 @@ Section rwlockreadguard_functions. ...@@ -119,7 +119,7 @@ Section rwlockreadguard_functions.
{ rewrite pos_op_plus -Pplus_one_succ_l Pos.succ_pred // =>?. by subst. } { rewrite pos_op_plus -Pplus_one_succ_l Pos.succ_pred // =>?. by subst. }
rewrite {1}EQn -{1}(agree_idemp (to_agree _)) 2!pair_op Cinr_op Some_op. rewrite {1}EQn -{1}(agree_idemp (to_agree _)) 2!pair_op Cinr_op Some_op.
apply (cancel_local_update_unit (reading_st q ν)) , _. } apply (cancel_local_update_unit (reading_st q ν)) , _. }
iApply (wp_step_fupd with "INV"). done. set_solver. iApply (wp_step_fupd with "INV"). set_solver.
iApply (wp_cas_int_suc with "Hlx"); try done. iNext. iIntros "Hlx INV !>". iApply (wp_cas_int_suc with "Hlx"); try done. iNext. iIntros "Hlx INV !>".
iMod ("INV" with "Hlx") as "INV". iMod ("Hcloseβ" with "[$INV]") as "Hβ". iMod ("INV" with "Hlx") as "INV". iMod ("Hcloseβ" with "[$INV]") as "Hβ".
iMod ("Hcloseα" with "Hβ") as "Hα". iMod ("Hclose" with "Hα HL") as "HL". iMod ("Hcloseα" with "Hβ") as "Hα". iMod ("Hclose" with "Hα HL") as "HL".
......
...@@ -37,7 +37,7 @@ Section rwlockwriteguard_functions. ...@@ -37,7 +37,7 @@ Section rwlockwriteguard_functions.
[solve_typing..|]. [solve_typing..|].
iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hcloseβα2]". iDestruct (lft_intersect_acc with "Hβ Hα2") as (qβα) "[Hα2β Hcloseβα2]".
wp_bind (!(LitV lx'))%E. iApply (wp_step_fupd with "[Hα2β]"); wp_bind (!(LitV lx'))%E. iApply (wp_step_fupd with "[Hα2β]");
[done| |by iApply ("Hshr" with "[] Hα2β")|]; first done. [|by iApply ("Hshr" with "[] Hα2β")|]; first done.
iMod "H↦" as "[H↦1 H↦2]". wp_read. iIntros "[#Hshr' Hα2β]!>". wp_op. wp_let. iMod "H↦" as "[H↦1 H↦2]". wp_read. iIntros "[#Hshr' Hα2β]!>". wp_op. wp_let.
iDestruct ("Hcloseβα2" with "Hα2β") as "[Hβ Hα2]". iDestruct ("Hcloseβα2" with "Hα2β") as "[Hβ Hα2]".
iMod ("Hcloseα1" with "[$H↦1 $H↦2]") as "Hα1". iMod ("Hclose'" with "Hβ HL") as "HL". iMod ("Hcloseα1" with "[$H↦1 $H↦2]") as "Hα1". iMod ("Hclose'" with "Hβ HL") as "HL".
......
...@@ -168,7 +168,7 @@ Section typing_rules. ...@@ -168,7 +168,7 @@ Section typing_rules.
iDestruct "Hκ" as (Λ) "(% & Htok & #Hend)". iDestruct "Hκ" as (Λ) "(% & Htok & #Hend)".
iSpecialize ("Hend" with "Htok"). wp_bind Endlft. iSpecialize ("Hend" with "Htok"). wp_bind Endlft.
iApply (wp_mask_mono _ (lftN)); first done. iApply (wp_mask_mono _ (lftN)); first done.
iApply (wp_step_fupd with "Hend"). done. set_solver. wp_seq. iApply (wp_step_fupd with "Hend"); first set_solver. wp_seq.
iIntros "#Hdead !>". wp_seq. iApply ("He" with "LFT HE Htl HL HC [> -]"). iIntros "#Hdead !>". wp_seq. iApply ("He" with "LFT HE Htl HL HC [> -]").
iApply (Hub with "[] HT"). simpl in *. subst κ. rewrite -lft_dead_or. auto. iApply (Hub with "[] HT"). simpl in *. subst κ. rewrite -lft_dead_or. auto.
Qed. Qed.
......
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