| r = to_delete0.head, to_delete = to_delete0.tail, ((del-list(to_delete0, n) * P))(H) ⊦ H[r].nxt = null, to_delete0 = [], (1 ≤ n → ((del-list(H[r].nxt + to_delete, n - 1) * P))(H -- r)) ∧ (n = 0 → H[r].nxt + to_delete = [] ∧ P(H -- r)) |
((del-list(to_delete0, n) * P))(H) ⊦ H[to_delete0.head].nxt = null, to_delete0 = [], (1 ≤ n → ((del-list(H[to_delete0.head].nxt ' + to_delete0.tail, n - 1) * P))(H -- to_delete0.head)) ∧ n ≠ 0
Used simplifier rules: a: ⊦ (rx + rx0) + rx1 = rx + rx0 + rx1; from specification list[reflist]% ⊦ r ' + rx ≠ []; (s)% ⊦ r + rx = r ' + rx; (s)