| ∀ fs, adr, ri. replay-log(log0, fs -- adr, ri) = replay-log(log0, fs, ri) ∨ adr ∈ log0 ⊦ replay-log(adr0 + log0, fs -- adr, ri) = replay-log(adr0 + log0, fs, ri), adr ∈ adr0 + log0 |
∀ fs, adr, ri. replay-log(log0, fs -- adr, ri) = replay-log(log0, fs, ri) ∨ adr ∈ log0 ⊦ adr = adr0, replay-log(log0, fs -- adr, 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)[adr] = fs[adr]; (s)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ adr ∈ adr0 ' + ax ↔ ¬(adr ≠ adr0 ∧ ¬ adr ∈ ax); (ss)% ⊦ adr + ax = adr ' + ax; (s)