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