firstPairThen([X,X|T],T).

firstPair([X,X|_]).

dupList([],[]).
dupList([X|T],[X,X|R]):-dupList(T,R).

isDuped([]).
isDuped([X,X|T]):-isDuped(T).

isDup(L) :- dupList(_,L).

firstP(L) :- firstPairThen(L,_).

onePair(L) :- firstPairThen(L,[]).

isD([]).
isD(L) :- firstPairThen(L,T), isD(T).

oneOrMoreThen([X|T],X,T).
oneOrMoreThen([X|T],X,T2) :- oneOrMoreThen(T,X,T2).

oddSize([_]).
oddSize([_,_|T]) :- oddSize(T).
