| log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ key ∈ ri ⊖ (ro ++ inodekey(ino)) ↔ (key ∈ ri ∧ key ≠ inodekey(ino) ∧ (key.data? → inodekey(key.ino) ≠ inodekey(ino))) ∧ ¬ key ∈ ro ∧ (key.data? → ¬ inodekey(key.ino) ∈ ro) |
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ key ∈ ri ⊖ (ro ++ inodekey(ino)) ↔ key ∈ ri ∧ key ≠ inodekey(ino) ∧ (key.data? → key.ino ≠ ino) ∧ ¬ key ∈ ro ∧ (key.data? → ¬ inodekey(key.ino) ∈ ro)
Used simplifier rules: ⊦ inodekey(m) = inodekey(m0) ↔ m = m0; (s)