% Cooperates until the second has defected, after % that move defects forever (he does not forgive). % http://euler.fd.cvut.cz/predmety/game_theory/lecture_repeat.pdf grudger([], c) :- !. grudger([c|Tail], c) :- grudger(Tail, c),!. grudger(_, d).