| log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ ri ⊖ (ro ++ datakey(ino, n)) = (ri -- datakey(ino, n)) ⊖ ro |
⊦ ri = ri0 ↔ (∀ key. (key ∈ ri ↔ key ∈ ri0) ∧ (key ∈ ri → ri[key] = ri0[key]))
log-cons(log, fs), replay-safe(log, fs, fi ⊖ fo) ⊦ ∀ key. (key ∈ ri ⊖ (ro ++ datakey(ino, n)) ↔ key ∈ (ri -- datakey(ino, n)) ⊖ ro) ∧ (key ∈ ri ⊖ (ro ++ datakey(ino, n)) → (ri ⊖ (ro ++ datakey(ino, n)))[key] = ((ri -- datakey(ino, n)) ⊖ ro)[key])
Used terms: (ri -- datakey(ino, n)) ⊖ ro, ri ⊖ (ro ++ datakey(ino, n))