| ((del-list(to_delete, n) * P))(H) ⊦ ⟪tree_buffer_heap_process_one#(; H, to_delete); tree_buffer_heap_process_one#(; H, to_delete)⟫ ((2 ≤ n → ((del-list(to_delete, n - 2) * P))(H)) ∧ (n < 2 → to_delete = [] ∧ P(H))) |
((del-list(to_delete, n) * P))(H) ⊦ ⟪tree_buffer_heap_process_one#(; H, to_delete)⟫ ((n ≥ 1 → ((del-list(to_delete, n - 1) * P))(H)) ∧ (n = 0 → to_delete = [] ∧ ((del-list([], 0) * P))(H)))
P0 = P, n0 = n, ((del-list(to_delete, n) * P))(H) ⊦ [tree_buffer_heap_process_one#(; H, to_delete)] ( (n0 ≥ 1 → ((del-list(to_delete, n0 - 1) * P0))(H)) ∧ (n0 = 0 → to_delete = [] ∧ ((del-list([], 0) * P0))(H)) → ⟪tree_buffer_heap_process_one#(; H, to_delete)⟫ ((2 ≤ n → ((del-list(to_delete, n - 2) * P))(H)) ∧ (n < 2 → to_delete = [] ∧ P(H))))