Understanding "Replace Loops using Recursion" Lesson

So following your explanation,

return sum([1, 3],  1) + 3

So let us go:

return sum([1, 3],  1) + 3 /            ///not +1 as in the explanation as this is arr[1]

sum([1, 3], 1) will be as follow:

As n (1 in this case) is greater than 0 else block will work.

sum ( [1, 3], 1-1) + arr[1 - 1]

means:
sum( [1, 3], 0) + arr[0]

sam as

sum( [1, 3], 0) + 1

again sum function will work; as the n is zero will return zero and exit. it will add 3 plus 1 ,
Hope this will be answer to @ [jay_archer] s question