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