| ∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0 ⊦ r ≠ null ∧ r ∈ H ∧ (∃ n. reachable-n(H, n, r, r0)) |
path(r ' + x, H) ⊦ r = null, ∃ n. reachable-n(H, n, r, (r ' + x).last)
Used simplifier rules: path-first-in-H: ⊦ path(r ' + x, H) → (¬ r ∈ H ↔ false);%null-not-start-of-path: ⊦ ¬ path(null ' + x, H);%a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]