| r2 ∈ x, path(r ' + x, H[r2, ce]), r ∈ H, (r ' + x).last ∈ H ⊦ reachable(r, (r ' + x).last, H), r2 ∈ H, r ∈ x, dups(x), ∃ r0. reachable(r, r0, H) ∧ H[r0].nxt = r2 ∧ H[r0].nxt ≠ null ∧ reachable(ce.nxt, (r ' + x).last, H) |
r2 ∈ x, path(r ' + x, H[r2, ce]), r ∈ H, x.last ∈ H ⊦ r2 ∈ H, r ∈ x, dups(x), reachable(r, x.last, H), ∃ r0. reachable(r, r0, H) ∧ H[r0].nxt = r2 ∧ H[r0].nxt ≠ null ∧ reachable(ce.nxt, x.last, H)
Used simplifier rules: a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]%l-in: ⊦ r ∈ x0 → (r0 ' + x0).last = x0.last; from specification list-last[reflist]