| reachable-1(H, r1, r0), reachable-1(H, r, r1), ∀ H0, r4, r5. reachable-1(H0, r4, r5) ↔ (∃ x. path(x, H0) ∧ hd x = r4 ∧ x.last = r5 ∧ # x = 2) ⊦ ∃ x. path(x, H) ∧ hd x = r ∧ x.last = r0 ∧ # x = 3 |
reachable-1(H, r1, r0), reachable-1(H, r, r1), ∀ H0, r4, r5. reachable-1(H0, r4, r5) ↔ (∃ x. path(x, H0) ∧ hd x = r4 ∧ x.last = r5 ∧ # x = 2) ⊦ path(r ' + r1 ' + r0 ', H) ∧ hd(r ' + r1 ' + r0 ') = r ∧ (r ' + r1 ' + r0 ').last = r0 ∧ #(r ' + r1 ' + r0 ') = 3
Used terms: r ' + r1 ' + r0 '