@@ -56,41 +56,41 @@ invariant Map_At(TreiberPool, loc_t) == Abs(Map_At(TreiberPoolLow, loc_t));
5656yield invariant {:layer 4 } StackDom();
5757invariant TreiberPool-> dom == TreiberPoolLow-> dom;
5858
59- yield invariant {:layer 4 } PushLocInStack(loc_t: LocTreiberStack, node: StackElem X, new_loc_n: LocTreiberNode, {:linear} right_loc_piece : One (TaggedLoc Unit));
59+ yield invariant {:layer 4 } PushLocInStack(loc_t: LocTreiberStack, node: StackElem X, new_loc_n: LocTreiberNode, {:linear} tagged_loc : One (TaggedLoc Unit));
6060invariant Map_Contains(TreiberPoolLow, loc_t);
6161invariant Set_Contains(Domain(TreiberPoolLow, loc_t), new_loc_n);
62- invariant right_loc_piece -> val == TaggedLoc(new_loc_n, Unit());
62+ invariant tagged_loc -> val == TaggedLoc(new_loc_n, Unit());
6363invariant (var t := TreiberPoolLow-> val[loc_t]; Map_At(t-> nodes, new_loc_n) == node && ! BetweenSet(t-> nodes-> val, t-> top, None())[new_loc_n]);
6464
6565/// Layered implementation
6666
67- atomic action {:layer 5 } AtomicAlloc() returns ({:linear} right_loc_piece : One (TaggedLoc Unit))
67+ atomic action {:layer 5 } AtomicAlloc() returns ({:linear} tagged_loc : One (TaggedLoc Unit))
6868{
6969 var {:linear} one_loc_t: One LocTreiberStack;
70- var {:linear} loc_pieces : Set (TaggedLoc Unit);
70+ var {:linear} tagged_locs : Set (TaggedLoc Unit);
7171
72- call one_loc_t, loc_pieces := TaggedLocSet_New(UnitSet());
73- call right_loc_piece := One_Get(loc_pieces , TaggedLoc(one_loc_t-> val, Unit()));
72+ call one_loc_t, tagged_locs := TaggedLocSet_New(UnitSet());
73+ call tagged_loc := One_Get(tagged_locs , TaggedLoc(one_loc_t-> val, Unit()));
7474 assume ! Map_Contains(TreiberPool, one_loc_t-> val);
7575 TreiberPool := Map_Update(TreiberPool, one_loc_t-> val, Vec_Empty());
7676}
77- yield procedure {:layer 4 } Alloc() returns ({:linear} right_loc_piece : One (TaggedLoc Unit))
77+ yield procedure {:layer 4 } Alloc() returns ({:linear} tagged_loc : One (TaggedLoc Unit))
7878refines AtomicAlloc;
79- ensures call TopInStack(right_loc_piece -> val-> loc);
80- ensures call ReachInStack(right_loc_piece -> val-> loc);
79+ ensures call TopInStack(tagged_loc -> val-> loc);
80+ ensures call ReachInStack(tagged_loc -> val-> loc);
8181preserves call StackDom();
8282{
8383 var {:linear} one_loc_t: One LocTreiberStack;
84- var {:linear} loc_pieces : Set (TaggedLoc Unit);
84+ var {:linear} tagged_locs : Set (TaggedLoc Unit);
8585 var top: Option LocTreiberNode;
8686 var {:linear} stack: StackMap X;
8787 var {:linear} treiber: Treiber X;
8888
8989 top := None();
9090 call stack := Map_MakeEmpty();
9191 treiber := Treiber(top, stack);
92- call one_loc_t, loc_pieces := TaggedLocSet_New(UnitSet());
93- call right_loc_piece := One_Get(loc_pieces , TaggedLoc(one_loc_t-> val, Unit()));
92+ call one_loc_t, tagged_locs := TaggedLocSet_New(UnitSet());
93+ call tagged_loc := One_Get(tagged_locs , TaggedLoc(one_loc_t-> val, Unit()));
9494 call AllocTreiber#0 (one_loc_t, treiber);
9595 call {:layer 4 } TreiberPool := Copy(Map_Update(TreiberPool, one_loc_t-> val, Vec_Empty()));
9696 call {:layer 4 } AbsLemma(treiber);
@@ -113,13 +113,13 @@ preserves call StackDom();
113113{
114114 var loc_n: Option LocTreiberNode;
115115 var new_loc_n: LocTreiberNode;
116- var {:linear} right_loc_piece : One (TaggedLoc Unit);
116+ var {:linear} tagged_loc : One (TaggedLoc Unit);
117117 var {:layer 4 } old_treiber: Treiber X;
118118
119119 call {:layer 4 } old_treiber := Copy(TreiberPoolLow-> val[loc_t]);
120- call loc_n, new_loc_n, right_loc_piece := CreateNewTopOfStack(loc_t, x);
120+ call loc_n, new_loc_n, tagged_loc := CreateNewTopOfStack(loc_t, x);
121121 call {:layer 4 } FrameLemma(old_treiber, TreiberPoolLow-> val[loc_t]);
122- par ReachInStack(loc_t) | StackDom() | PushLocInStack(loc_t, Node(loc_n, x), new_loc_n, right_loc_piece );
122+ par ReachInStack(loc_t) | StackDom() | PushLocInStack(loc_t, Node(loc_n, x), new_loc_n, tagged_loc );
123123 call success := WriteTopOfStack#0 (loc_t, loc_n, Some(new_loc_n));
124124 if (success) {
125125 call {:layer 4 } TreiberPool := Copy(Map_Update(TreiberPool, loc_t, Vec_Append(Map_At(TreiberPool, loc_t), x)));
@@ -161,39 +161,39 @@ preserves call StackDom();
161161}
162162
163163atomic action {:layer 4 } AtomicCreateNewTopOfStack(loc_t: LocTreiberStack, x: X)
164- returns (loc_n: Option LocTreiberNode, new_loc_n: LocTreiberNode, {:linear} right_loc_piece : One (TaggedLoc Unit))
164+ returns (loc_n: Option LocTreiberNode, new_loc_n: LocTreiberNode, {:linear} tagged_loc : One (TaggedLoc Unit))
165165asserts Map_Contains(TreiberPoolLow, loc_t);
166166{
167167 var {:linear} one_loc_t: One LocTreiberStack;
168168 var {:linear} treiber: Treiber X;
169169 var top: Option LocTreiberNode;
170170 var {:linear} stack: StackMap X;
171171 var {:linear} one_loc_n: One LocTreiberNode;
172- var {:linear} loc_pieces : Set (TaggedLoc Unit);
172+ var {:linear} tagged_locs : Set (TaggedLoc Unit);
173173
174174 call one_loc_t, treiber := Map_Get(TreiberPoolLow, loc_t);
175175 Treiber(top, stack) := treiber;
176176 assume loc_n is None || Map_Contains(stack, loc_n-> t);
177- call one_loc_n, loc_pieces := TaggedLocSet_New(UnitSet());
177+ call one_loc_n, tagged_locs := TaggedLocSet_New(UnitSet());
178178 new_loc_n := one_loc_n-> val;
179- call right_loc_piece := One_Get(loc_pieces , TaggedLoc(new_loc_n, Unit()));
179+ call tagged_loc := One_Get(tagged_locs , TaggedLoc(new_loc_n, Unit()));
180180 call Map_Put(stack, one_loc_n, Node(loc_n, x));
181181 treiber := Treiber(top, stack);
182182 call Map_Put(TreiberPoolLow, one_loc_t, treiber);
183183}
184184yield procedure {:layer 3 } CreateNewTopOfStack(loc_t: LocTreiberStack, x: X)
185- returns (loc_n: Option LocTreiberNode, new_loc_n: LocTreiberNode, {:linear} right_loc_piece : One (TaggedLoc Unit))
185+ returns (loc_n: Option LocTreiberNode, new_loc_n: LocTreiberNode, {:linear} tagged_loc : One (TaggedLoc Unit))
186186preserves call TopInStack(loc_t);
187187ensures call LocInStackOrNone(loc_t, Some(new_loc_n));
188188refines AtomicCreateNewTopOfStack;
189189{
190190 var {:linear} one_loc_n: One LocTreiberNode;
191- var {:linear} loc_pieces : Set (TaggedLoc Unit);
191+ var {:linear} tagged_locs : Set (TaggedLoc Unit);
192192
193193 call loc_n := ReadTopOfStack#Push(loc_t);
194- call one_loc_n, loc_pieces := TaggedLocSet_New(UnitSet());
194+ call one_loc_n, tagged_locs := TaggedLocSet_New(UnitSet());
195195 new_loc_n := one_loc_n-> val;
196- call right_loc_piece := One_Get(loc_pieces , TaggedLoc(new_loc_n, Unit()));
196+ call tagged_loc := One_Get(tagged_locs , TaggedLoc(new_loc_n, Unit()));
197197 call AllocNode#0 (loc_t, one_loc_n, Node(loc_n, x));
198198}
199199
0 commit comments