Define a recursive rule, in the form of sum(Lst, Total), which can calculate the sum of a list of stated, where Lst is in the format of [[s1, p1], [s2, p2],
sum(Lst, Total)
[[s1, p1], [s2, p2],
You're only missing the base case where the list is empty!
sum([],0). sum([[_,X]|T],Total) :- sum(T,Rest), Total is X + Rest.
sum(L,Total):- total(L,0,Total).
sum([],Total,Total).
sum([[_|HT]T],Temp,Total) :- Temp1 is temp+HT,total(T,Temp1,Total).