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