| path(H[r].nxt ' + x0, H), path(H[r].nxt ' + y1, H), r ∈ H, path(H[r].nxt ' + x0, H) ∧ path(H[r].nxt ' + y1, H) → x0 = y1 ∨ (∃ r0, x1. y1 = x0 + r0 ' + x1) ∨ (∃ r0, y0. x0 = y1 + r0 ' + y0), ∀ r, H, y. path(r ' + x0, H) ∧ path(r ' + y, H) → x0 = y ∨ (∃ r0, x1. y = x0 + r0 ' + x1) ∨ (∃ r0, y0. x0 = y + r0 ' + y0) ⊦ r = null, x0 = y1, ∃ r0, y. x0 = y1 + r0 ' + y, ∃ r0, x. y1 = x0 + r0 ' + x |
path(H[r].nxt ' + y1, H), path(H[r].nxt ' + x0, H), r ∈ H, ∀ r, H, y. path(r ' + x0, H) ∧ path(r ' + y, H) → x0 = y ∨ (∃ r0, x1. y = x0 + r0 ' + x1) ∨ (∃ r0, y0. x0 = y + r0 ' + y0), y1 = x0 + r0 ' + x ∨ x0 = y1 + r1 ' + y ⊦ r = null, x0 = y1, ∃ r0, x. y1 = x0 + r0 ' + x, ∃ r0, y. x0 = y1 + r0 ' + y