| # avol0 = # avol1, # lpt = # avol1, (lpf0 = LP_FREE ∨ n ∈ nx ⊃ mklp(m3, m4, lpf0, m5) ;(lpf0 = LP_INDEX_NODES ∧ m3 ≠ 0 ⊃ mklp(m3, LEB_SIZE, LP_INDEX_NODES, m5);(m3 = 0 ⊃ mklp(0, 0, LP_FREE, m5);mklp(m3, m4, lpf0, m5))) ) = mklp((n ∈ gstore0 ⊃ gstore0[n].ref-size;0), m1, LP_GROUP_NODES, m2), crash(gstore, gstore0, ginval, nx)[n] = groupblock(gndx0, lax0, m0), gstore[n] = groupblock(gndx, lax, m), lpt[n] = mklp(m3, m4, lpf0, m5), avol0[n].mapped?, n < # avol1, abs-nodes (avol0[n].data, groupblock(gndx, lax, (n ∈ gstore0 ⊃ gstore0[n].ref-size;0)).gndlist, groupblock(gndx, lax, (n ∈ gstore0 ⊃ gstore0[n].ref-size;0)).ladrlist, mklp((n ∈ gstore0 ⊃ gstore0[n].ref-size;0), m1, LP_GROUP_NODES, m2).size = LEB_SIZE), n ∈ gstore, n ∈ nx ∨ m3 ≠ 0 ∨ lpf0 = LP_FREE → avol0[n] = avol1[n], mklp((n ∈ gstore0 ⊃ gstore0[n].ref-size;0), m1, LP_GROUP_NODES, m2).size ≠ LEB_SIZE → mklp((n ∈ gstore0 ⊃ gstore0[n].ref-size;0), m1, LP_GROUP_NODES, m2).size = # avol0[n].data ⊦ n ∈ ginval, avol1[n].mapped? ∧ abs-nodes(avol1[n].data, gndx0, lax0, m1 = LEB_SIZE) ∧ (m1 ≠ LEB_SIZE → m1 = # avol1[n].data) |
# gndx = # lax, # avol0 = # avol1, # lpt = # avol1, (lpf0 = LP_FREE ∨ n ∈ nx ⊃ mklp(m3, m4, lpf0, m5) ;(lpf0 = LP_INDEX_NODES ∧ m3 ≠ 0 ⊃ mklp(m3, LEB_SIZE, LP_INDEX_NODES, m5);(m3 = 0 ⊃ mklp(0, 0, LP_FREE, m5);mklp(m3, m4, lpf0, m5))) ) = mklp((n ∈ gstore0 ⊃ gstore0[n].ref-size;0), m1, LP_GROUP_NODES, m2), avol0[n] = mapped(buf), crash(gstore, gstore0, ginval, nx)[n] = groupblock(gndx0, lax0, m0), gstore[n] = groupblock(gndx, lax, m), lpt[n] = mklp(m3, m4, lpf0, m5), n < # avol1, abs-nodes(buf, gndx, lax, m1 = LEB_SIZE), n ∈ gstore, n ∈ nx ∨ m3 ≠ 0 ∨ lpf0 = LP_FREE → mapped(buf) = avol1[n], m1 ≠ LEB_SIZE → m1 = # buf ⊦ n ∈ ginval, avol1[n].mapped? ∧ abs-nodes(avol1[n].data, gndx0, lax0, m1 = LEB_SIZE) ∧ (m1 ≠ LEB_SIZE → m1 = # avol1[n].data)
Used simplifier rules: ⊦ mapped(buf).data = buf; (s)%abs-nodes-elems-adr-length: ⊦ abs-nodes(buf, gndx, lax, weak) → # gndx = # lax; (forward) from specification abs-list[encoding-group-node]% ⊦ aleb.mapped? ↔ (∃ buf. aleb = mapped(buf)); (as)% ⊦ mklp(n2, n3, lpf, m).size = n3; (s)% ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)% ⊦ groupblock(gndx, lax, m).gndlist = gndx; (s)