| h = h0, xs = x0, ys = x1 + y, ((ls(rxs, x0) * lls(rys, r, x1) * ls(r, y) * del-list(to_delete, n0)))(H), ((ls(rxs, x0) * ls(rys, x1 + y) * del-list(to_delete, n0)))(H), (((lls(rxs, null, x0) * ls(rys, x1 + y)) * del-list(to_delete, n0)))(H), # x0 < h0, n0 ≤ # x0 + # x1 + # y, # x0 + # x1 ≤ h0, n0 + # x0 ≤ h0, x1 + y = [] ∨ # x1 + # y = h0 ⊦ ⟨x := prefixn(h, xs + ys)⟩ ((∃ n. ((ls(rxs, x0) * ls(rys, x1 + y) * del-list(to_delete, n)))(H) ∧ n ≤ # x0 + # x1 + # y ∧ n + # x0 ≤ h0) ∧ x0 + x1 = x), # x0 + # x1 < h0 ∧ r ≠ null |
h = h0, xs = x0, ys = x1 + y, (((lls(rxs, null, x0) * ls(rys, x1 + y)) * del-list(to_delete, n0)))(H), ((ls(rxs, x0) * ls(rys, x1 + y) * del-list(to_delete, n0)))(H), ((ls(rxs, x0) * lls(rys, r, x1) * ls(r, y) * del-list(to_delete, n0)))(H), # x0 < h0, n0 + # x0 ≤ h0, # x0 + # x1 ≤ h0, n0 ≤ # x0 + # x1 + # y, x1 + y = [] ∨ # x1 + # y = h0 ⊦ # x0 + # x1 < h0 ∧ r ≠ null, (∃ n. ((ls(rxs, x0) * ls(rys, x1 + y) * del-list(to_delete, n)))(H) ∧ n ≤ # x0 + # x1 + # y ∧ n + # x0 ≤ h0) ∧ x0 + x1 = prefixn(h, xs + ys)