| log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo), datakey(m, m0) ∈ ri ⊦ ri[datakey(m, m0)] = ((ri ⊖ inodekey(ino)) ⊖ ro)[datakey(m, m0)], m = ino, datakey(m, m0) ∈ ro, inodekey(m) ∈ ro |
⊦ datakey(ino, n) ∈ ri ∧ ¬ datakey(ino, n) ∈ ks ∧ ¬ inodekey(ino) ∈ ks → (ri ⊖ ks)[datakey(ino, n)] = ri[datakey(ino, n)]
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo), datakey(m, m0) ∈ ri ⊦ ri[datakey(m, m0)] = ((ri ⊖ inodekey(ino)) ⊖ ro)[datakey(m, m0)], m = ino, inodekey(m) ∈ ro, datakey(m, m0) ∈ ro, datakey(m, m0) ∈ ri ⊖ inodekey(ino) ∧ ¬ datakey(m, m0) ∈ ro ∧ ¬ inodekey(m) ∈ ro
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo), datakey(m, m0) ∈ ri, datakey(m, m0) ∈ ri ⊖ inodekey(ino) ⊦ ri[datakey(m, m0)] = (ri ⊖ inodekey(ino))[datakey(m, m0)], m = ino, inodekey(m) ∈ ro, datakey(m, m0) ∈ ro
Used terms: m0, m, ro, ri ⊖ inodekey(ino)