| path(H[r].nxt ' + x, H), reachable-n(H, n0, H[r].nxt, (H[r].nxt ' + x).last), r ∈ H, H[r].nxt ∈ H ⊦ H[r].nxt = null, n0 = 0, r = null, ∃ x0. path(r ' + x0, H) ∧ (r ' + x0).last = (H[r].nxt ' + x).last |
Used simplifier rules: path-cons: ⊦ path(r ' + r0 ' + x, H) ↔ r ∈ H ∧ r ≠ null ∧ H[r].nxt = r0 ∧ path(r0 ' + x, H);%a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]% ⊦ (x0 + r ' + x1).last = (r ' + x1).last; (s) Used terms: H[r].nxt ' + x