| ((ls(rxs, x + x1) * ls(rys, ys) * del-list(to_delete, n0)))(H), ((lls(rxs, r, x) * ls(r, x1) * ls(rys, ys) * del-list(to_delete, n0)))(H), # x < h0, # x + # x1 < h0, n0 + # x + # x1 ≤ h0, n0 ≤ (# x + # x1) + # ys, ys = [] ∨ # ys = h0 ⊦ r = null, ∃ x0. x1 = H[r].val ' + x0 ∧ (∃ r0. (((lls(rxs, r0, x) * r0 => H[r].val × H[r].nxt) * ls(H[r].nxt, x0) * ls(rys, ys) * del-list(to_delete, n0)))(H)) ∧ n0 ≤ (# x + # x0 + 1) + # ys ∧ n0 + # x + # x0 < h0 |
H[r] = a × r1, ((lls(rxs, r, x) * ls(r, x1) * ls(rys, ys) * del-list(to_delete, n0)))(H), ((ls(rxs, x + x1) * ls(rys, ys) * del-list(to_delete, n0)))(H), # x + # x1 < h0, # x < h0, n0 ≤ (# x + # x1) + # ys, n0 + # x + # x1 ≤ h0, ys = [] ∨ # ys = h0 ⊦ r = null, ∃ x0. x1 = a ' + x0 ∧ (∃ r0. (((lls(rxs, r0, x) * r0 => a × r1) * ls(r1, x0) * ls(rys, ys) * del-list(to_delete, n0)))(H)) ∧ n0 ≤ (# x + # x0 + 1) + # ys ∧ n0 + # x + # x0 < h0
Used simplifier rules: ⊦ a = ce.val ∧ r = ce.nxt ↔ ce = a × r; (elim) Used terms: H[r], a, r1