| 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 ⊦ x1.last = null, x1.last = ce.nxt, r = ce.nxt, r = null, x1 = [], dups(x1), ce.nxt ∈ x1, r ∈ x1, ∃ x. path(x1.last ' + x + x1.last ', H) ∧ ¬ r ∈ x |
ce.nxt = H[r0].nxt, r0 = H[r].nxt, x1 = x2 + r0 ', path(ce.nxt ' + x1, H[r, ce]), r0 ∈ H, r ∈ H, r0 ∈ H[r, ce] ⊦ r = null, r = ce.nxt, r0 = ce.nxt, r0 = null, x1 = [], dups(x1), r ∈ x1, ce.nxt ∈ 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