inicio(Lista):-
write('Introduce un comando: '),
readln(Comando),
comando(Lista, Comando, ListaNueva), !,
writeln(ListaNueva),
inicio(ListaNueva).
inicio.
comando(Lista, [inserta], ListaNueva):-
write('Dato?: '), readln(Dato),
guarda(Dato, Lista, ListaNueva).
comando([salir]):- !, fail.
comando([_]).
guarda([H], T, [H|T]):-
no_existe(H, T).
guarda(_, L, L):- writeln('ya existe...').
no_existe(_, []):-!.
no_existe(H, [H | _]):-!, fail.
no_existe(H, [_|T]):- no_existe(H, T).