| jmaxino = n, ndx = ndx2, ndx0 = ndx3, ndx1 = ndx3 ⊦ ⟪ndx := []; while ndx0 ≠ [] ∧ ndx0.head.flashsize ≤ jmaxino do {/* (prepost-split-nodes: invariant ndx0` = ndx + ndx0 ∧ jmaxino` = ndx.flashsize + jmaxino wfbound # ndx0) */; let nd = ndx0.head in {ndx := ndx + nd; ndx0 := ndx0.tail; jmaxino := jmaxino - nd.flashsize}}⟫ (ndx1 = ndx + ndx0 ∧ ndx.flashsize ≤ n ∧ (ndx0 = [] ∨ ndx.flashsize + ndx0.head.flashsize > n)) |
jmaxino = n, ndx = [], ndx0 = ndx3, ndx1 = ndx3, ndx4 = ndx2 ⊦ ⟪while ndx0 ≠ [] ∧ ndx0.head.flashsize ≤ jmaxino do {/* (prepost-split-nodes: invariant ndx0` = ndx + ndx0 ∧ jmaxino` = ndx.flashsize + jmaxino wfbound # ndx0) */; let nd = ndx0.head in {ndx := ndx + nd; ndx0 := ndx0.tail; jmaxino := jmaxino - nd.flashsize}}⟫ (ndx1 = ndx + ndx0 ∧ ndx.flashsize ≤ n ∧ (ndx0 = [] ∨ ndx.flashsize + ndx0.head.flashsize > n))