| ce.nxt = H[r].nxt, r = H[(r ' + x).last].nxt, path(r ' + x, H), (r ' + x).last ∈ H, r ∈ H ⊦ r = (r ' + x).last, r = null, r = ce.nxt, dups(x), r ∈ x, ∃ x0. path(r ' + x0, H[(r ' + x).last, ce]) ∧ (r ' + x0).last = r |
Used simplifier rules: path-one: ⊦ path(r ', H) ↔ r ∈ H ∧ r ≠ null;%path-first-in-H: ⊦ path(r ' + x, H) → (r ∈ H ↔ true);% ⊦ x0 + [] = x0; (s)%a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]% ⊦ r ≠ r0 → (r ∈ H[r0, ce] ↔ r ∈ H); (s)% ⊦ r '.last = r; (s) Used terms: []