| # x0 = # rx0, # x1 = # rx1, x0 ≠ [], x1 ≠ [], ((r => mkcell(rx0.last, rx1.first, a) * dls(head, prev, x0 + x1, rx0 + rx1, next, tail) * P))(H) ⊦ ⟪insert(r; H)⟫ ((dls(head, prev, x0 + a ' + x1, rx0 + r ' + rx1, next, tail) * P))(H) |
# x0 = # rx0, # x1 = # rx1, x0 ≠ [], x1 ≠ [], ((r => mkcell(rx0.last, r0, a) * dls(head, prev, x0 + x1, rx0 + rx1, next, tail) * P))(H), rx1 = r0 + rx2, rx1 ≠ [] ⊦ ⟪insert(r; H)⟫ ((dls(head, prev, x0 + a ' + x1, rx0 + r ' + rx1, next, tail) * P))(H)
[Concretesimprules((Csimpnamedseq(list-data,reflist,size-01, ⊦ # [] = 0) Csimpnamedseq(list-data,,l, ⊦ # x = 0 ↔ x = []) Csimpelim(rx ≠ [] ⊦ r = rx.first ∧ rx0 = rx.rest ↔ rx = r + rx0))), Extraterms((rx1r0rx))]