| replay(log, fs, fi, fo) = ri ⊖ ro, replay-safe(log, fs, fi ⊖ fo), replay-log(log, fs, fi ⊖ fo) = ri ⊖ ro → replay-safe(log0, fs0, fi0 ⊖ fo0) ∧ replay-log(log0, fs0, fi0 ⊖ fo0) = ri0 ⊖ ro0 ⊦ replay-cons-strong(fs0, ri0, ro0, fi0, fo0, log0) |
replay-log(log, fs, fi ⊖ fo) = ri ⊖ ro, replay-log(log0, fs0, fi0 ⊖ fo0) = ri0 ⊖ ro0, replay-safe(log, fs, fi ⊖ fo), replay-safe(log0, fs0, fi0 ⊖ fo0) ⊦ replay-cons-strong(fs0, ri0, ro0, fi0, fo0, log0)
Used simplifier rules: replay: ⊦ replay(log, fs, fi, fo) = replay-log(log, fs, fi ⊖ fo);