minimum([M],M). minimum([X|T],M):-minimum(T,M),M=X. %--------------------get K min getKMin(1,L,M):-minimum(L,M),!. getKMin(K,L,M):-minimum(L,Q),delFirst(L,Q,Lnew),Knew is K-1,getKMin(Knew,Lnew,M). %---------------------delete first element list delFirst([X|T],X,T):-!. delFirst([N|T],X,[N|L]):-delFirst(T,X,L). %---------------------get SecondMin secondMin(L,M):-getKMin(2,L,M).