... dem([],0) :-! . dem([_|T],N):-dem(T,N1),N=N1+1. chen(X,[],[X]) :-! . chen(X,[H|T],[X|[H|T]]):-X=<H,!. chen(X,[H|T],[H|T1]):-chen(X,T,T1). saptang([H],[H]) :-! . saptang([H|T],T2):-saptang(T,T1),chen(H,T1,T2). ... tim([H|_],H) :-! . tim([_|T],X):-tim(T,X). hoi([],X,X) :-! . hoi([H|T],X,[H|T1]):-not(tim(X,H)),hoi(T,X,T1),!. hoi([_|T],X,T1):-hoi(T,X,T1). Vd: dao([1,2,3,4,5],L) L=[5,4,3,2,1] tim([H|_],H) :-! . ... chen(X,[],[X]) :-! . chen(X,[H|T],[X|[H|T]]):-X=<H,!. chen(X,[H|T],[H|T1]):-chen(X,T,T1). saptang([H],[H]) :-! . saptang([H|T],T2):-saptang(T,T1),chen(H,T1,T2). chenn(X,[],[X]) :-! . chenn(X,[H|T],[X|[H|T]]):-X>=H,!....