| n = m + 1, ((del-list(to_delete0, m) * P))(H0), ((del-list(to_delete, n) * P))(H), 1 ≤ n ⊦ ⟪tree_buffer_heap_process_one#(; H0, to_delete0)⟫ ((2 ≤ n → ((del-list(to_delete0, n - 2) * P))(H0)) ∧ (n = 1 → to_delete0 = [] ∧ P(H0))), n = 0 |
((del-list(to_delete, m + 1) * P))(H), ((del-list(to_delete0, m) * P))(H0) ⊦ ⟪tree_buffer_heap_process_one#(; H0, to_delete0)⟫ ((1 ≤ m → ((del-list(to_delete0, m + 1 - 2) * P))(H0)) ∧ (m = 0 → to_delete0 = [] ∧ P(H0)))
Used simplifier rules: ⊦ 1 = m + 1 ↔ m = 0; (s)%n0 < n ⊦ (* n) ≤ m0 + (* n0) ↔ n - n0 ≤ m0; (s)% ⊦ m ≤ m + n; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m + 1 ≠ 0; (s)