| log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo), datakey(m, m0) ∈ ri, datakey(m, m0) ∈ ri -- datakey(ino, n) ⊦ (ri ⊖ (ro ++ datakey(ino, n)))[datakey(m, m0)] = (ri -- datakey(ino, n))[datakey(m, m0)], datakey(m, m0) = datakey(ino, n), inodekey(m) ∈ ro, datakey(m, m0) ∈ ro |
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo), datakey(m, m0) ∈ ri ⊦ (ri ⊖ (ro ++ datakey(ino, n)))[datakey(m, m0)] = ri[datakey(m, m0)], datakey(m, m0) = datakey(ino, n), datakey(m, m0) ∈ ro, inodekey(m) ∈ ro
Used simplifier rules: ⊦ key ∈ ri -- key0 ↔ key ≠ key0 ∧ key ∈ ri; (s)% ⊦ key ≠ key0 → (ri -- key0)[key] = ri[key]; (s)