% my_member(Element, List) - checks if Element is in List my_member(Element, Element) :- atomic(Element). my_member(Element, Compound) :- compound(Compound), Compound =.. [Head, Tail], (Element = Head ; my_member(Element, Tail)). % my_length(List, Length) - finds the my_length of a list my_length(Atom, 1) :- atomic(Atom). my_length(Compound, N) :- compound(Compound), Compound =.. [_, Tail], my_length(Tail, M), N is M + 1.