3processEvent(Index, E) :- 4 evTList(Index, E, L), !, 5 retract(evTList(Index, E, L)), 6 findall(T, happensAtEv(E,T), ListofTimePoints), 7 updateevTList(Index, E, ListofTimePoints). 8 9% this predicate deals with the case where no time-points for E were computed at the previous query time 10processEvent(Index, E) :- 11 findall(T, happensAtEv(E,T), ListofTimePoints), 12 updateevTList(Index, E, ListofTimePoints). 13 14 15updateevTList(_Index, _E, []) :- !. 16 17updateevTList(Index, E, ListofTimePoints) :- 18 assert(evTList(Index, E, ListofTimePoints))