From a3a70c307641515da614c95e7f34a0159bf2d522 Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Tue, 16 Feb 2016 18:54:15 +0100 Subject: [PATCH] complete writing down the invariant of the barrier protocol --- barrier/barrier.v | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/barrier/barrier.v b/barrier/barrier.v index 05210c59..d5de9209 100644 --- a/barrier/barrier.v +++ b/barrier/barrier.v @@ -1,3 +1,4 @@ +From algebra Require Export upred_big_op. From program_logic Require Export sts saved_prop. From heap_lang Require Export derived heap wp_tactics notation. @@ -102,10 +103,11 @@ Section proof. Notation iProp := (iPropG heap_lang Σ). Definition waiting (P : iProp) (I : gset gname) : iProp := - (∃ Q : gmap gname iProp, True)%I. + (∃ Q : gmap gname iProp, ▷(P -★ Π★{map Q} (λ _ Q, Q)) ★ + Π★{map Q} (λ i Q, saved_prop_own SpI i Q))%I. Definition ress (I : gset gname) : iProp := - (True)%I. + (Π★{set I} (λ i, ∃ Q, saved_prop_own SpI i Q ★ ▷Q))%I. Definition barrier_inv (l : loc) (P : iProp) (s : stateT) : iProp := match s with -- GitLab