| path(r ' + x, H) ⊦ x = [], reachable(r, x.last, H[r2, ce]), r2 ∈ H |
⊦ reachable(r, r0, H) ↔ (∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0)
path(r ' + x, H) ⊦ x = [], r2 ∈ H, ∃ x0. path(r ' + x0, H[r2, ce]) ∧ (r ' + x0).last = x.last
Used terms: H[r2, ce], x.last, r