% a way to find the minimum cost of car insurance using higher level predicates bagof and min_list % minimum(+Company, +Cost): Cost is minimum over all insurance(Company, Cost) minimum(C,V):-bagof(V0, X^insurance(X,V0), L), min_list(L, V), insurance(C,V). insurance('AAA', 900). insurance('GEICO', 800). insurance('MobCo', 1000). :-write('example: minimum(Company,Cost).').