/*Put a list into order (using <) */ /*FLowmode IO */ order([],[]). order([H|T],O):-order(T,N),insert(H,N,O). /*insert a new item into an ordered list to give a new ordered list*/ /*flowmode IIO */ insert(I,[],[I]). insert(I,[H|T],[H|N]):-I>H,insert(I,T,N). insert(I,[H|T],[I,H|T]):-I=H. inserT(I,[H|T],[I,H|T]):-I=