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.