@@ -303,7 +303,7 @@ Module Memory.
303
303
and thus the corresponding executions would be discarded. TODO prove it.
304
304
*)
305
305
Definition fulfill (ev : Ev.t) (prom : list view) (mem : t) : option view :=
306
- prom |> filter (fun t => Some ev =? mem !! t)
306
+ prom |> filter (λ t, mem !! t = Some ev )
307
307
|> reverse
308
308
|> head.
309
309
@@ -1358,7 +1358,7 @@ Definition write_mem (tid : nat) (loc : Loc.t) (viio : view) (macc : mem_acc)
1358
1358
⊔ view_if is_release (ts.(TState.vrd) ⊔ ts.(TState.vwr)) in
1359
1359
let vpre := ts.(TState.vspec) ⊔ vbob ⊔ viio in
1360
1360
guard_discard (vpre ⊔ (TState.coh ts !!! loc) < time)%nat;;
1361
- mset (TState.prom ∘ fst) $ delete time;;
1361
+ mset (TState.prom ∘ fst) (filter (λ t, t ≠ time)) ;;
1362
1362
mset fst $ TState.update_coh loc time;;
1363
1363
mset fst $ TState.update TState.vwr time;;
1364
1364
mset fst $ TState.update TState.vrel (view_if is_release time);;
@@ -1475,7 +1475,7 @@ Definition run_tlbi (tid : nat) (view : nat) (tlbi : TLBIInfo) :
1475
1475
then mret t
1476
1476
else Exec.liftSt PPState.mem $ Memory.promise tlbiev);
1477
1477
guard_discard (vpre < time)%nat;;
1478
- mset (TState.prom ∘ PPState.state) $ delete time;;
1478
+ mset (TState.prom ∘ PPState.state) (filter (λ t, t ≠ time)) ;;
1479
1479
mset PPState.state $ TState.update TState.vtlbi time;;
1480
1480
mset PPState.iis $ IIS.add time.
1481
1481
0 commit comments