Precondition: A[0..n-1] is an array of numbers, n (element of) N. Postcondition: Returns the maximum subsequence sum of A. MaxSum3(A[0..n-1]) if n = 0 return 0 else return Max(MaxSum3(A[0..n-2]),MaxSuffix3(A[0..n-1])) Precondition: A[0..n-1] is an array of numbers, n (element of) N. Postcondition: Returns the maximum suffix sum of A. MaxSuffix3(A[0..n-1]) if n = 0 return 0 else return Max(0,A[n - 1] + MaxSuffix3(A[0..n - 2])) ____________________________________________________________________ Claim A: "MAXSUFFIX3" meets its specifications Proof: By induction on "n" Base: n=0 Then 0 is returned being that 0 itself is the max suffix Induction Hypothesis: Assume that n > 0 if we have an "i" that i < n then MAXSUFFIX3(A[0...i-1]) replacing i for n meets the specifications Induction Step: We have already assumed that n > 0 therefore we move on to the else. By the Induction Hypothesis we can conclude that... MAXSUM3(A[0...i-1]) meets the specifications and by the same logic MAXSUM3(A[0...n-2)) does as well since we state i < n, and A[0...i-1], thus yeilding "n-2" and will then return the maximum suffix sum. We shall call this value "m". This know implies that "else" in MaxSuffix3 can be references as Max(0,A[n \u2212 1] + MaxSuffix3(A[0..n \u2212 2])) becomes... Max(0,A[n - 1] + m) Claim B: "MAXSUM3" meets its specifications Proof: by induction on "n" Base: n=0 Then 0 is returned being that 0 is the max subsequence sum Induction Hypothesis: Assume that n > 0 if we have an "i" that i < n then MAXSUFFIX3(A[0...i-1]) replacing i for n meets the specifications Induction Step: We have already assumed that n > 0 therefore we move on to the else. let "sub_value" be equal to what is returned when the maximum subsequence sum is ran using A[0...i-1] let "sufx_value" be equal to what is returned when the maximum suffix sum is ran using A[0...i-1] By the Induction Hypothesis we can conclude that... MAXSUM3(A[0...i-1]) meets the specifications and by the same logic MAXSUM3(A[0...n-2)) does as well since we state i < n, and A[0...i-1], thus yeilding "n-2" thus by the decreases value by referencing "i" we say that sub_value^n-1 is returned. **I'm using ^ to denote a subscript and not a superscript.** and by the same logic sufx_value^n-1 is returned