| 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(m, m0) ∈ ri ⊖ inodekey(ino) |
⊦ key ∈ ri ⊖ key0 ↔ key ∈ ri ∧ key ≠ key0 ∧ (key.data? → inodekey(key.ino) ≠ key0)
Used simplifier rules: ⊦ inodekey(m) ≠ datakey(m0, m1); (s)% ⊦ datakey(m, m0).data?; (s)% ⊦ datakey(m, m0).ino = m; (s)% ⊦ inodekey(m) = inodekey(m0) ↔ m = m0; (s) Used terms: inodekey(ino), ri, datakey(m, m0)