car(ford, focus, 2014, 60000, 7500). car(ford, mondeo, 2011, 120000, 3000). car(bmw, 5-series, 2013, 75000, 11000). car(volvo, 850, 1995, 250000, 1000). car(bmw, 3-series, 2014, 60000, 15000). car(roles_royce, special, 1950, 120000, 100000). show_cars_age_and_price(Make) :- car(Make, Type, Y, _, P), write(Make), write(' '), write(Type), write(', '), Age is 2017 - Y, write(Age), write(' years old, '), write(' Price is '), write(P), nl, fail; write('No more to display'). avg_car_cost :- retractall(sum(_)), retractall(count(_)), assert(sum(0)), assert(count(0)), compute, sum(X), count(N), Avg is X / N, write('Average price is '), write(Avg), nl, retract(sum(X)), retract(count(N)). compute :- car(_, _, _, _, Cost), sum(X), count(C), X1 is X + Cost, C1 is C + 1, retract(sum(X)), retract(count(C)), assert(sum(X1)), assert(count(C1)), fail; true.