| ce.nxt = H[H[r0].nxt].nxt, (r ' + x).last = H[r0].nxt, path(r ' + x, H[r0, ce]), reachable(r, r0, H), H[r0].nxt ∈ H, H[r0].nxt ∈ H[r0, ce], r0 ∈ H, ∀ r1. ¬ reachable(H[r1].nxt, r1, H) ⊦ H[r0].nxt = null, r ∈ x, dups(x) |
⊦ x0 ≠ [] → (x1 + x0).last = x0.last
¬ x ≠ [], ce.nxt = H[H[r0].nxt].nxt, (r ' + x).last = H[r0].nxt, path(r ' + x, H[r0, ce]), reachable(r, r0, H), H[r0].nxt ∈ H, H[r0].nxt ∈ H[r0, ce], r0 ∈ H, ∀ r1. ¬ reachable(H[r1].nxt, r1, H) ⊦ H[r0].nxt = null, r ∈ x, dups(x)
x ≠ [], ce.nxt = H[H[r0].nxt].nxt, x.last = H[r0].nxt, path(r ' + x, H[r0, ce]), reachable(r, r0, H), H[r0].nxt ∈ H, H[r0].nxt ∈ H[r0, ce], r0 ∈ H, ∀ r1. ¬ reachable(H[r1].nxt, r1, H) ⊦ H[r0].nxt = null, r ∈ x, dups(x)
Used terms: x, r '