| log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ key ∈ ri ⊖ (ro ++ datakey(ino, n)) ↔ key ∈ (ri -- datakey(ino, n)) ⊖ ro |
⊦ key ∈ ri ⊖ ks ↔ key ∈ ri ∧ ¬ key ∈ ks ∧ (key.data? → ¬ inodekey(key.ino) ∈ ks)
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ key ∈ ri ⊖ (ro ++ datakey(ino, n)) ↔ key ∈ ri -- datakey(ino, n) ∧ ¬ key ∈ ro ∧ (key.data? → ¬ inodekey(key.ino) ∈ ro)
Used terms: ro, ri -- datakey(ino, n), key