| # x0 = # rx0, # x1 = # rx1, x0 ≠ [], x1 ≠ [], ((dls(head, prev, x0 + a ' + x1, rx0 + r ' + rx1, next, tail) * P))(H) ⊦ ⟪remove(r; H)⟫ ((r => mkcell(rx0.last, rx1.first, a) * dls(head, prev, x0 + x1, rx0 + rx1, next, tail) * P))(H) |
# x0 = # rx0, # x1 = # rx1, x0 ≠ [], x1 ≠ [] ⊦ dls(head, prev, x0 + a ' + x1, rx0 + r ' + rx1, next, tail) = _∃(λ r0, r1. dls(head, prev, x0, rx0, r, r0) * r => mkcell(r0, r1, a) * dls(r1, r, x1, rx1, next, tail))
[Concretesimprules(()), Extraterms((tailnextrx1rrx0x1ax0prevhead))]