| H[r0].nxt = H[x.last].nxt, r0 ∈ H, ∃ x1, x2. x = x1 + (r0 + x2), path(r ' + x, H), reachable(r, r0, H), H[r0].nxt ∈ H, x.last ∈ H ⊦ H[r0].nxt = null, reachable(r0, x.last, H) |
H[r0].nxt = H[(r0 ' + x0).last].nxt, r0 ∈ H, path(r ' + x1 + r0 ' + x0, H), reachable(r, r0, H), H[r0].nxt ∈ H, (r0 ' + x0).last ∈ H ⊦ H[r0].nxt = null, reachable(r0, (r0 ' + x0).last, H)
Used simplifier rules: lapp-01: ⊦ (x0 + r ' + x1).last = (r ' + x1).last; from specification list-last[reflist]%a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]%c: ⊦ r + x0 = r ' + x0; from specification list[reflist]