| ∀ fs, adr, nd, ri. replay-log(log0, fs[adr, nd], ri) = replay-log(log0, fs, ri) ∨ adr ∈ log0 ⊦ replay-log(adr0 + log0, fs[adr, nd], ri) = replay-log(adr0 + log0, fs, ri), adr ∈ adr0 + log0 |
∀ fs, adr, nd, ri. replay-log(log0, fs[adr, nd], ri) = replay-log(log0, fs, ri) ∨ adr ∈ log0 ⊦ adr = adr0, replay-log(log0, fs[adr, nd], replay-one(adr0, fs[adr0], ri)) = replay-log(log0, fs, replay-one(adr0, fs[adr0], ri)), adr ∈ log0
Used simplifier rules: replay-log-rec: ⊦ replay-log(adr ' + log, fs, ri) = replay-log(log, fs, replay-one(adr, fs[adr], ri));% ⊦ adr ≠ adr0 → fs[adr0, nd][adr] = fs[adr]; (s)% ⊦ adr ∈ adr0 ' + ax ↔ ¬(adr ≠ adr0 ∧ ¬ adr ∈ ax); (ss)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ adr + ax = adr ' + ax; (s)