From a9884f6a12cc656529bc32075cb5426ff725c6c8 Mon Sep 17 00:00:00 2001 From: Simon Spies <simonspies@icloud.com> Date: Tue, 7 Mar 2023 11:57:46 +0100 Subject: [PATCH] fixes for iris/iris!886 and iris/iris!896 --- coq-gpfsl.opam | 2 +- coq-orc11.opam | 2 +- gpfsl-examples/lock/proof_ticket_lock_gps.v | 10 +++++----- gpfsl-examples/queue/proof_ms_gps.v | 4 ++-- gpfsl/gps/surface_iPP.v | 2 +- gpfsl/gps/surface_iSP.v | 8 ++++---- gpfsl/gps/surface_vSP.v | 8 ++++---- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/coq-gpfsl.opam b/coq-gpfsl.opam index 74302c16..ecbbd060 100644 --- a/coq-gpfsl.opam +++ b/coq-gpfsl.opam @@ -10,7 +10,7 @@ version: "dev" synopsis: "A combination of GPS and FSL in the promising semantics WITHOUT promises" depends: [ - "coq-iris" { (= "dev.2022-11-30.1.e52255ba") | (= "dev") } + "coq-iris" { (= "dev.2023-03-07.1.7e127436") | (= "dev") } "coq-orc11" {= version} ] diff --git a/coq-orc11.opam b/coq-orc11.opam index 4073fa0a..282de8d1 100644 --- a/coq-orc11.opam +++ b/coq-orc11.opam @@ -10,7 +10,7 @@ version: "dev" synopsis: "A Coq formalization of the ORC11 semantics for weak memory" depends: [ - "coq-stdpp" { (= "dev.2022-11-30.0.ffa862a8") | (= "dev") } + "coq-stdpp" { (= "dev.2023-02-04.0.7125e166") | (= "dev") } ] build: ["./make-package" "orc11" "-j%{jobs}%"] diff --git a/gpfsl-examples/lock/proof_ticket_lock_gps.v b/gpfsl-examples/lock/proof_ticket_lock_gps.v index a7e76fca..44bd1a55 100644 --- a/gpfsl-examples/lock/proof_ticket_lock_gps.v +++ b/gpfsl-examples/lock/proof_ticket_lock_gps.v @@ -46,7 +46,7 @@ Definition Waiting M n : gset nat := filter (λ i, ∃ t, M !! i = Excl2 t ∧ n ≤ t) (dom M). Definition Ws M n : nat := size (Waiting M n). -Definition ns_tkt_bound M t n : Prop := +Definition ns_tkt_bound M t n : Prop := n ≤ t ∧ t ≤ n + Ws M n ∧ ∀ (i k: nat), M !! i = Excl2 k → (k < t) ∧ ∀ (j: nat), M !! j = Excl2 k → i = j. @@ -254,7 +254,7 @@ Proof. split; [|split; first lia; split]. * eapply Z.le_lt_trans; first by apply LE2. apply Z.add_lt_le_mono; [lia|]. by apply Waiting_size_le. - * rewrite Nat2Z.inj_succ Nat2Z.inj_add Zplus_assoc_reverse + * rewrite Nat2Z.inj_succ Nat2Z.inj_add Zplus_assoc_reverse (Z.add_comm 1) Zplus_assoc. apply Zplus_le_compat_r. etrans; first apply LE2. assert (Eqs := @@ -283,7 +283,7 @@ Proof. { rewrite disjoint_singleton_l /Waiting elem_of_filter. rewrite Ini. move => [[? [[<-] ?]] _]. lia. } rewrite Nat2Z.inj_add size_singleton Nat2Z.inj_add - (Z.add_comm 1) Zplus_assoc. + (Z.add_comm 1) Zplus_assoc. by apply Zplus_le_compat_r. } * by apply ns_inj_insert. - exists n. split; [done|split]; first by right. @@ -300,7 +300,7 @@ Proof. { rewrite disjoint_singleton_l /Waiting elem_of_filter. rewrite Ini. move => [[? [//]]]. } rewrite Nat2Z.inj_add size_singleton Nat2Z.inj_add - (Z.add_comm 1) Zplus_assoc. + (Z.add_comm 1) Zplus_assoc. by apply Zplus_le_compat_r. } * by apply ns_inj_insert. Qed. @@ -370,7 +370,7 @@ Proof. apply bi.sep_ne; [done|]. repeat (apply bi.exist_ne => ?). apply GPS_iSP_Writer_contractive; [done|]. - destruct n; [done|by simpl]. + dist_later_fin_intro. eapply H; si_solver. Qed. Definition NSP P γ : interpO Σ natProtocol := fixpoint (NSP' P γ). diff --git a/gpfsl-examples/queue/proof_ms_gps.v b/gpfsl-examples/queue/proof_ms_gps.v index cc332bd1..f885eb5a 100644 --- a/gpfsl-examples/queue/proof_ms_gps.v +++ b/gpfsl-examples/queue/proof_ms_gps.v @@ -82,8 +82,8 @@ Proof. do 2 apply bi.exist_ne => ?. apply bi.sep_ne; [done|]. do 2 (apply bi.exist_ne => ?). - apply GPS_iPP_contractive. destruct n => //. - by apply H. + apply GPS_iPP_contractive. + dist_later_fin_intro. eapply H; si_solver. Qed. Definition Link : ∀ γ, interpO Σ LinkProtocol := fixpoint Link'. diff --git a/gpfsl/gps/surface_iPP.v b/gpfsl/gps/surface_iPP.v index e25f9156..c225d538 100644 --- a/gpfsl/gps/surface_iPP.v +++ b/gpfsl/gps/surface_iPP.v @@ -274,7 +274,7 @@ Global Instance GPS_iPP_contractive l t s v γ : Contractive (λ IP, GPS_iPP IP l t s v γ). Proof. move => n ???. apply bi.sep_ne; [done|]. apply subj_inv_contractive. - destruct n; [done|]. by apply GPS_PPInv_ne. + dist_later_fin_intro. apply GPS_PPInv_ne; by eapply dist_later_S. Qed. Global Instance GPS_iPP_ne l t s v γ : NonExpansive (λ IP, GPS_iPP IP l t s v γ). diff --git a/gpfsl/gps/surface_iSP.v b/gpfsl/gps/surface_iSP.v index c3602849..016b2089 100644 --- a/gpfsl/gps/surface_iSP.v +++ b/gpfsl/gps/surface_iSP.v @@ -328,7 +328,7 @@ Global Instance GPS_iSP_Writer_contractive n l t s v γ : (λ IP IPC, GPS_iSP_Writer IP IPC l t s v γ). Proof. move => ??????. apply bi.sep_ne; [done|]. apply subj_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_iSP_Writer_ne l t s v γ : NonExpansive2 (λ IP IPC, GPS_iSP_Writer IP IPC l t s v γ). @@ -348,7 +348,7 @@ Global Instance GPS_iSP_Reader_contractive n l t s v γ : (λ IP IPC, GPS_iSP_Reader IP IPC l t s v γ). Proof. move => ??????. apply bi.sep_ne; [done|]. apply subj_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_iSP_Reader_ne l t s v γ : NonExpansive2 (λ IP IPC, GPS_iSP_Reader IP IPC l t s v γ). @@ -368,7 +368,7 @@ Global Instance GPS_iSP_SharedReader_contractive n l t s v q γ : (λ IP IPC, GPS_iSP_SharedReader IP IPC l t s v q γ). Proof. move => ??????. apply bi.sep_ne; [done|]. apply subj_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_iSP_SharedReader_ne l t s v q γ : NonExpansive2 (λ IP IPC, GPS_iSP_SharedReader IP IPC l t s v q γ). @@ -388,7 +388,7 @@ Global Instance GPS_iSP_SharedWriter_contractive n l t s v γ : (λ IP IPC, GPS_iSP_SharedWriter IP IPC l t s v γ). Proof. move => ??????. apply bi.sep_ne; [done|]. apply subj_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_iSP_SharedWriter_ne l t s v γ : NonExpansive2 (λ IP IPC, GPS_iSP_SharedWriter IP IPC l t s v γ). diff --git a/gpfsl/gps/surface_vSP.v b/gpfsl/gps/surface_vSP.v index 220176fc..6f41cc45 100644 --- a/gpfsl/gps/surface_vSP.v +++ b/gpfsl/gps/surface_vSP.v @@ -148,7 +148,7 @@ Global Instance GPS_vSP_Writer_contractive n l t s v γ γi : (λ IP IPC, GPS_vSP_Writer IP IPC l t s v γ γi). Proof. move => ??????. apply bi.sep_ne; [done|]. apply view_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_vSP_Writer_ne IPC l t s v γ γi : NonExpansive2 (λ IP IPC, GPS_vSP_Writer IP IPC l t s v γ γi). @@ -168,7 +168,7 @@ Global Instance GPS_vSP_Reader_contractive n l t s v γ γi : (λ IP IPC, GPS_vSP_Reader IP IPC l t s v γ γi). Proof. move => ??????. apply bi.sep_ne; [done|]. apply view_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_vSP_Reader_ne l t s v γ γi : NonExpansive2 (λ IP IPC, GPS_vSP_Reader IP IPC l t s v γ γi). @@ -188,7 +188,7 @@ Global Instance GPS_vSP_SharedReader_contractive n l t s v q γ γi : (λ IP IPC, GPS_vSP_SharedReader IP IPC l t s v q γ γi). Proof. move => ??????. apply bi.sep_ne; [done|]. apply view_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_vSP_SharedReader_ne l t s v q γ γi : NonExpansive2 (λ IP IPC, GPS_vSP_SharedReader IP IPC l t s v q γ γi). @@ -208,7 +208,7 @@ Global Instance GPS_vSP_SharedWriter_contractive n l t s v γ γi : (λ IP IPC, GPS_vSP_SharedWriter IP IPC l t s v γ γi). Proof. move => ??????. apply bi.sep_ne; [done|]. apply view_inv_contractive. - destruct n; [done|]. by apply GPS_INV_ne. + dist_later_fin_intro. apply GPS_INV_ne; by eapply dist_later_S. Qed. Global Instance GPS_vSP_SharedWriter_ne l t s v γ γi : NonExpansive2 (λ IP IPC, GPS_vSP_SharedWriter IP IPC l t s v γ γi). -- GitLab