| path(H[r].nxt ' + x0, H), r ∈ H, ∀ r, H. path(r ' + x0, H) → x0 = [] ∨ x0.last ∈ H ⊦ x0 = [], r = null, (H[r].nxt ' + x0).last ∈ H |
path(H[r].nxt ' + x0, H), r ∈ H, ∀ r0, H0. path(r0 ' + x0, H0) → x0.last ∈ H0 ⊦ x0 = [], r = null, x0.last ∈ H
Used simplifier rules: a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]%l-02: ⊦ x0 ≠ [] → (r ' + x0).last = x0.last; from specification list-last[reflist]