PROLOTELELE Elemento de la lista
% output empty list if an element is to be deleted from an empty list
delete_all(_,[],[]).
% if current list head = element, call same predicate without list head to loop
% through input list and don't update output list.
delete_all(X,[X|L],L1):-
delete_all(X,L,L1).
% if current list head != element, call same predicate without list head to loop
% through input list and make head of output list = head of input list.
delete_all(X,[H|L],[H|L1]):-
X\=H,
delete_all(X,L,L1).
a literal child