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