Possível resolução

a)
         proxima_geracao([],[]).
         proxima_geracao([X],[X]).
         proxima_geracao([X,Y|R],[Z|N]) :-
           regra(X,Y,Z),
           proxima_geracao([Y|R],N).
b)
         jogo_vida(0,_,[]).
         jogo_vida(N,L,[P|R]) :-
           proxima_geracao(L,P),
           N1 is N-1,
           jogo_vida(N1,P,R).



(c) Delfim F. Marado Torres
1999-04-13