| path(r ' + x, H), (r ' + x).last ∈ H ⊦ ∃ x0. path(r ' + x0, H[(r ' + x0).last, ce]) ∧ (r ' + x0).last = (r ' + x).last |
path(r ' + [], H), (r ' + []).last ∈ H ⊦ ∃ x0. path(r ' + x0, H[(r ' + x0).last, ce]) ∧ (r ' + x0).last = (r ' + []).last
∀ r, H, ce. path(r ' + x0, H) ∧ (r ' + x0).last ∈ H → (∃ x1. path(r ' + x1, H[(r ' + x1).last, ce]) ∧ (r ' + x1).last = (r ' + x0).last), path(r ' + (r0 + x0), H), (r ' + (r0 + x0)).last ∈ H ⊦ ∃ x1. path(r ' + x1, H[(r ' + x1).last, ce]) ∧ (r ' + x1).last = (r ' + (r0 + x0)).last
Used simplifier rules: reflist freely generated by [], +;;