| reachable-n(H, n, H[r].nxt, x0.last), path(H[r].nxt ' + x0, H), r ∈ H ⊦ x0 = [], r = null, reachable-1(H, r, H[r].nxt) |
⊦ reachable-1(H, r, r0) ↔ r ≠ null ∧ r0 ≠ null ∧ r ∈ H ∧ r0 ∈ H ∧ H[r].nxt = r0
Used simplifier rules: path-first-in-H: ⊦ path(r ' + x, H) → (¬ r ∈ H ↔ false);%null-not-start-of-path: ⊦ ¬ path(null ' + x, H);%a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist] Used terms: H[r].nxt, r, H