?- last_member(X,1).

No  % [0.2 marks]

?- last_member(X,blah).

No  % [0.2 marks]

?- last_member(X,[]).

No  % [0.2 marks]

?- last_member(1,[2]).

No  % [0.2 marks]

?- last_member(a,[a,2]).

No  % [0.2 marks]

?- last_member(a,[1,a,2]).

No  % [0.2 marks]

?- last_member(2,[2]).

Yes  % [0.2 marks]

?- last_member(2,[a,2]).

Yes  % [0.2 marks]

?- last_member(2,[1,a,2]).

Yes  % [0.2 marks]

?- last_member(X,[2]).

X = 2  % [0.2 marks]

?- last_member(X,[a,2]).

X = 2  % [0.2 marks]

?- last_member(2,[a,X]).

X = 2  % [0.2 marks]

?- last_member(X,[Y]).

Y = X  % [0.2 marks]

?- last_member(X,Y).

Y = [X] ;

Y = [_G283, ,X] ;

Y = [_G283, _G286, X] .  % [0.4 marks]

