bubbleup([X, Y|L], [Y, X|L]) :- X > Y. bubbleup([Z|L], [Z|ZL]) :- bubbleup(L, ZL). bubblesort([], []). bubblesort(L, SL) :- bubbleup(L, ZL), !, bubblesort(ZL, SL). bubblesort(SL, SL). ?-bubblesort([7,9,1,2,3,6,4,5,8,0], SL).