| path(x, H), path(x.last ' + y, H) ⊦ path(x + y, H) |
∀ H, y. path(x0, H) ∧ path(x0.last ' + y, H) → path(x0 + y, H), path(r + x0, H), path((r + x0).last ' + y, H) ⊦ path((r + x0) + y, H)
Used simplifier rules: path-empty: ⊦ ¬ path([], H);%reflist freely generated by [], +;;