(sum.1) | sum([ ]) | = | 0 | |
(sum.2) | sum(L) | = | head(L) + sum(tail(t)) | (when L is not empty) |
Evaluation is as follows.
sum([3,5,7]) | |||
= 3 + sum([5,7]) | by (sum.2) | ||
= 3 + (5 + sum([7])) | by (sum.2) | ||
= 3 + (5 + (7 + sum([ ]))) | by (sum.2) | ||
= 3 + (5 + (7 + 0)) | by (sum.1) | ||
= 15 | by arithmetic |