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