@@ -238,7 +238,7 @@ yield invariant {:layer 4} Yield#4();
238238yield procedure {:layer 4 } ReadClient({:linear} one_pid: One ProcessId) returns (value: Value)
239239preserves call ValueStoreInv#1 (LeastTimeStamp(), InitValue);
240240preserves call ReplicaInv();
241- requires call ValidTimeStamp();
241+ preserves call ValidTimeStamp();
242242preserves call TimeStampQuorum();
243243preserves call ValueStoreInv#3 (LeastTimeStamp(), InitValue);
244244{
@@ -260,7 +260,7 @@ requires call MonotonicInduction#1(in, TimeStamp(last_write[one_pid->val], one_p
260260ensures call MonotonicInduction#1 (out, ts, 0 );
261261requires call LastWriteInv(one_pid, TimeStamp(last_write[one_pid-> val], one_pid-> val));
262262ensures call LastWriteInv(one_pid, ts);
263- requires call ValidTimeStamp();
263+ preserves call ValidTimeStamp();
264264preserves call TimeStampQuorum();
265265preserves call ValueStoreInv#3 (LeastTimeStamp(), InitValue);
266266{
@@ -279,7 +279,7 @@ refines action {:layer 4} _ {
279279 ts := TS;
280280}
281281preserves call ReplicaInv();
282- requires call ValidTimeStamp();
282+ preserves call ValidTimeStamp();
283283ensures call AtLeastGlobalTimeStamp(w, ts);
284284preserves call TimeStampQuorum();
285285ensures {:layer 3 } IsQuorum(w);
@@ -429,7 +429,7 @@ refines action {:layer 3} _ {
429429 assume IsQuorum(w) && (forall rid: ReplicaId :: w[rid] ==> le(ts, replica_ts[rid]));
430430}
431431preserves call ReplicaInv();
432- requires call ValidTimeStamp();
432+ preserves call ValidTimeStamp();
433433ensures call AtLeastGlobalTimeStamp(w, ts);
434434preserves call TimeStampQuorum();
435435{
0 commit comments