| ((del-list(to_delete, n) * P))(H) ⊦ ⟪let r = to_delete.head in {to_delete := to_delete.tail; if H[r].nxt ≠ null then to_delete := H[r].nxt + to_delete; H := H -- r}⟫ ((1 ≤ n → ((del-list(to_delete, n - 1) * P))(H)) ∧ (n = 0 → to_delete = [] ∧ P(H))), to_delete = [] |
r = to_delete.head, ((del-list(to_delete, n) * P))(H) ⊦ ⟪to_delete := to_delete.tail; if H[r].nxt ≠ null then to_delete := H[r].nxt + to_delete; H := H -- r⟫ ((1 ≤ n → ((del-list(to_delete, n - 1) * P))(H)) ∧ (n = 0 → to_delete = [] ∧ P(H))), to_delete = []
to_delete = [], ((del-list(to_delete, n) * P))(H) ⊦ to_delete = []