| x1 = x2 ∨ (∃ r0, y0. x1 = x2 + r0 ' + y0) ∨ (∃ r0, x0. x2 = x1 + r0 ' + x0), x2 = (x + H[x2.last].nxt ') + r0 ' + y, (x2.last ' + x0).last = (r ' + x).last, (r ' + x1).last = (r ' + x).last, path(r ' + x1, H), path(r ' + x + H[x2.last].nxt ', H), path(r ' + x2, H), H[x2.last].nxt ∈ H, x2.last ∈ H, path(x2.last ' + x0, H), (r ' + x).last ∈ H ⊦ H[x2.last].nxt = null, x2.last = r, x2 = [], x2.last ∈ x, x2.last ∈ x0, dups(x0), r ∈ x1, dups(x1), r ∈ x2, dups(x2) |
x2 = (x + H[x2.last].nxt ') + r0 ' + y, (x2.last ' + x0).last = (r ' + x).last, (r ' + x1).last = (r ' + x).last, path(r ' + x1, H), path(r ' + x + H[x2.last].nxt ', H), path(r ' + x2, H), H[x2.last].nxt ∈ H, x2.last ∈ H, path(x2.last ' + x0, H), (r ' + x).last ∈ H, x1 = x2 ∨ x1 = x2 + r1 ' + y0 ∨ x2 = x1 + r2 ' + x3 ⊦ H[x2.last].nxt = null, x2.last = r, x2 = [], x2.last ∈ x, x2.last ∈ x0, dups(x0), r ∈ x1, dups(x1), r ∈ x2, dups(x2)