| path(ce.nxt ' + x, H[r, ce]), ce.nxt ∈ H, x.last ∈ H ⊦ ce.nxt = null, r = null, r = x.last, x = [], 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]), x.last ∈ H, ce.nxt ∈ H ⊦ ce.nxt = null, r = x.last, r = null, x = [], ∃ x0. path(r ' + x0, H[r, ce]) ∧ (r ' + x0).last = x.last
Used terms: H[r, ce], x.last, r