| max_ending_here = 0, max_so_far = 0, n = 0, size = # a ⊦ 0 ≤ max_ending_here ∧ max_ending_here ≤ max_so_far ∧ n ≤ size ∧ maximum-sum(subarray(a, 0, n), max_so_far) ∧ (∃ m. maximum-suffix-sum(subarray(a, 0, n), m, max_ending_here)) |
⊦ ∃ m. maximum-suffix-sum(mkarray(0), m, 0)
Used simplifier rules: ⊦ maximum-sum(mkarray(0), 0); (s)% ⊦ subarray(ar0, n, 0) = mkarray(0); (s)% ⊦ 0 ≤ m; (s)