foldl(Goal, List, Start, End) is true if and only if End is the result of applying Goal to the elements of List, from left to right, in a cumulative way, using Start as initial accumulator.