| path(r ' + x, H), x.last ∈ H ⊦ r = x.last, x = [], ∃ r1. reachable(r, r1, H) ∧ H[r1].nxt = x.last ∧ H[r1].nxt ≠ null |
x = x1 + r0 ', path(r ' + x, H), r0 ∈ H ⊦ r = r0, x = [], ∃ r1. reachable(r, r1, H) ∧ H[r1].nxt = r0 ∧ H[r1].nxt ≠ null
Used simplifier rules: x0 ≠ [] ⊦ r = x0.last ∧ x1 = x0.butlast ↔ x0 = x1 + r '; (elim) Used terms: x, r0, x0