:-style_check(-singleton). :-dynamic(cones/1). % ice-cream cones. scoop(vanilla). scoop(strawberry). scoop(chocolate). cone(A,B,C):-scoop(A), scoop(B), scoop(C). cones(0). count:-retract(cones(X)), Y is X+1, assert(cones(Y)). go:-cone(X,Y,Z), count,fail; cones(Number), write(number_cones(Number)).