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