diff options
author | qadeer <unknown> | 2014-12-15 11:33:23 -0800 |
---|---|---|
committer | qadeer <unknown> | 2014-12-15 11:33:23 -0800 |
commit | 41c1ea3efbbf1b5d7758ab334ab456462300f555 (patch) | |
tree | ed21768d494420a36f0d1e5d2d062dbead813c1a /Test/og/treiber-stack.bpl | |
parent | a7f872a71b1be2b9677add91c8366ee27e345856 (diff) |
1. made variable introduction layer explicit in the test cases
2. if a single layer is specified for a global variable, that layer is the introduction layer
Diffstat (limited to 'Test/og/treiber-stack.bpl')
-rw-r--r-- | Test/og/treiber-stack.bpl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Test/og/treiber-stack.bpl b/Test/og/treiber-stack.bpl index 47dcc515..9a612eb2 100644 --- a/Test/og/treiber-stack.bpl +++ b/Test/og/treiber-stack.bpl @@ -38,8 +38,8 @@ ensures {:atomic} |{ A: goto B,C; B: assume oldVal == TopOfStack; TopOfStack := newVal; Used := Add(Used, oldVal, map(Stack)[oldVal]); Stack := Remove(Stack, oldVal); r := true; return true;
C: assume oldVal != TopOfStack; r := false; return true; }|;
-var TopOfStack: Node;
-var {:linear "Node"} Stack: lmap;
+var {:layer 0} TopOfStack: Node;
+var {:linear "Node"} {:layer 0} Stack: lmap;
function {:inline} Inv(TopOfStack: Node, Stack: lmap) : (bool)
@@ -48,7 +48,7 @@ function {:inline} Inv(TopOfStack: Node, Stack: lmap) : (bool) Subset(Difference(BetweenSet(map(Stack), TopOfStack, null), Singleton(null)), dom(Stack))
}
-var {:linear "Node"} Used: lmap;
+var {:linear "Node"} {:layer 0} Used: lmap;
procedure {:yields} {:layer 1} push(x: Node, {:linear_in "Node"} x_lmap: lmap)
requires {:layer 1} dom(x_lmap)[x];
|