| x1.last = H[r].nxt, ce.nxt = H[x1.last].nxt, path(ce.nxt ' + x1, H[r, ce]), x1.last ∈ H[r, ce], r ∈ H, x1.last ∈ H ⊦ r = ce.nxt, r = null, x1.last = null, x1.last = ce.nxt, x1 = [], dups(x1), ce.nxt ∈ x1, r ∈ x1, ∃ x. path(x1.last ' + x + x1.last ', H) ∧ ¬ r ∈ x |
x1 = x2 + r0 ', r0 = H[r].nxt, ce.nxt = H[r0].nxt, path(ce.nxt ' + x1, H[r, ce]), r0 ∈ H[r, ce], r ∈ H, r0 ∈ H ⊦ r = ce.nxt, r = null, r0 = null, r0 = ce.nxt, x1 = [], dups(x1), ce.nxt ∈ x1, r ∈ x1, ∃ x. path(r0 ' + x + r0 ', H) ∧ ¬ r ∈ x
Used simplifier rules: x0 ≠ [] ⊦ r = x0.last ∧ x1 = x0.butlast ↔ x0 = x1 + r '; (elim) Used terms: x1, r0, x0