aplicar( _ , [] , [] ). 

aplicar(Pred, [Cabeza|Cola], [Resultado|Cola1]):-   
  call(Pred, Cabeza, Resultado),   
  aplicar(Pred, Cola, Cola1).
