| remove-refsize0(gstore3) = gstore3, elems nx3 ∩ jro3 = ∅, dom gstore3 ∪ elems nx3 = dom gstore2 ∪ jro3, jro2 < jmaxino3, jro5 < jmaxino0, fi1.inos < jmaxino3, fi4.inos < jmaxino0, inv(gstore2 \ jro3), inv(gstore3), refsize-cons(gstore2, range fi1), refsize-cons(gstore3, range fi4), ri-inj(fi1), ri-inj(fi4), n ∈ jro3, n ∈ crash(gstore2, gstore3, jro3, nx3), jmaxino0 ≤ jmaxino3, fi1.lebs ⊆ dom gstore2, fi4.lebs ⊆ dom gstore3, jvalid0 ∧ nx3 ≠ [] → valid-journal-head(nx3, gstore2, jro3) ⊦ # jro3 = 0, jmaxino0 = 0, jmaxino3 = 0, jro3 = ∅, dups(nx3), inv(gstore3[n]), n ∈ nx3 |
⊦ n ∈ crash(gstore, gstore0, ginval, nx) ↔ n ∈ gstore ∨ n ∈ ginval
remove-refsize0(gstore3) = gstore3, elems nx3 ∩ jro3 = ∅, dom gstore3 ∪ elems nx3 = dom gstore2 ∪ jro3, fi4.inos < jmaxino0, fi1.inos < jmaxino3, jro5 < jmaxino0, jro2 < jmaxino3, inv(gstore3), inv(gstore2 \ jro3), refsize-cons(gstore3, range fi4), refsize-cons(gstore2, range fi1), ri-inj(fi4), ri-inj(fi1), n ∈ jro3, jmaxino0 ≤ jmaxino3, fi4.lebs ⊆ dom gstore3, fi1.lebs ⊆ dom gstore2, jvalid0 ∧ nx3 ≠ [] → valid-journal-head(nx3, gstore2, jro3), n ∈ gstore2 ∨ n ∈ jro3 ⊦ # jro3 = 0, jmaxino0 = 0, jmaxino3 = 0, jro3 = ∅, dups(nx3), inv(gstore3[n]), n ∈ nx3
Used terms: nx3, jro3, gstore3, gstore2, n