Skip to content

Commit a567bf8

Browse files
committed
update
1 parent 150970e commit a567bf8

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

Test/civl/samples/ABD.bpl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,8 @@ preserves call ValueStoreInv#3(LeastTimeStamp(), InitValue);
254254
par End(one_pid, ts);
255255
}
256256

257-
yield procedure {:layer 4} WriteClient({:linear} one_pid: One ProcessId, value: Value, in: ReplicaSet) returns (ts: TimeStamp, out: ReplicaSet)
257+
yield procedure {:layer 4} WriteClient({:linear} one_pid: One ProcessId, value: Value, {:hide} {:layer 1, 2} in: ReplicaSet)
258+
returns (ts: TimeStamp, {:hide} {:layer 1, 2} out: ReplicaSet)
258259
requires call MonotonicInduction#1(in, TimeStamp(last_write[one_pid->val], one_pid->val), 0);
259260
ensures call MonotonicInduction#1(out, ts, 0);
260261
requires call LastWriteInv(one_pid, TimeStamp(last_write[one_pid->val], one_pid->val));
@@ -287,7 +288,7 @@ ensures {:layer 3} IsQuorum(w);
287288
}
288289

289290
yield procedure {:layer 3} Read({:linear} one_pid: One ProcessId, old_ts: TimeStamp, {:hide} {:layer 2, 3} w: ReplicaSet)
290-
returns ({:hide} {:layer 2} q: ReplicaSet, ts: TimeStamp, value: Value)
291+
returns ({:hide} {:layer 2} out: ReplicaSet, ts: TimeStamp, value: Value)
291292
refines action {:layer 4} _ {
292293
assume le(old_ts, ts);
293294
assume Map_Contains(value_store, ts);
@@ -298,20 +299,21 @@ preserves call ReplicaInv();
298299
preserves call AtLeastGlobalTimeStamp(w, old_ts);
299300
preserves call ValidTimeStamp();
300301
preserves call TimeStampQuorum();
301-
ensures call AtLeastGlobalTimeStamp(q, ts);
302-
ensures {:layer 2} IsQuorum(q);
302+
ensures call AtLeastGlobalTimeStamp(out, ts);
303+
ensures {:layer 2} IsQuorum(out);
303304
requires {:layer 3} IsQuorum(w);
304305
preserves call ValueStoreInv#3(LeastTimeStamp(), InitValue);
305306
{
306307
var {:layer 1} old_replica_store: [ReplicaId]StampedValue;
307308

308309
call {:layer 1} old_replica_store := Copy(replica_store);
309-
call ts, value, q := QueryPhase(old_replica_store, old_ts, w);
310-
par q := UpdatePhase(ts, value) | AtLeastGlobalTimeStamp(w, old_ts) | ValidTimeStamp() | ValueStoreInv#1(LeastTimeStamp(), InitValue);
310+
call ts, value, out := QueryPhase(old_replica_store, old_ts, w);
311+
par out := UpdatePhase(ts, value) | AtLeastGlobalTimeStamp(w, old_ts) | ValidTimeStamp() | ValueStoreInv#1(LeastTimeStamp(), InitValue);
311312
}
312313

313-
yield procedure {:layer 3} Write({:linear} one_pid: One ProcessId, value: Value, in: ReplicaSet, old_ts: TimeStamp, {:hide} {:layer 2, 3} w: ReplicaSet)
314-
returns (out: ReplicaSet, ts: TimeStamp)
314+
yield procedure {:layer 3}
315+
Write({:linear} one_pid: One ProcessId, value: Value, {:hide} {:layer 1, 2} in: ReplicaSet, old_ts: TimeStamp, {:hide} {:layer 2, 3} w: ReplicaSet)
316+
returns ({:hide} {:layer 1, 2} out: ReplicaSet, ts: TimeStamp)
315317
refines action {:layer 4} _ {
316318
assume lt(old_ts, ts);
317319
assume !Map_Contains(value_store, ts);

0 commit comments

Comments
 (0)