1initiatedAt(rich(X)=true, T) :-
    2    happensAt(win_lottery(X), T).
    3
    4terminatedAt(rich(X)=true, T) :-
    5    happensAt(lose_wallet(X), T).
    6
    7initiatedAt(location(X)=Y, T) :-
    8    happensAt(go_to(X,Y), T).
    9
   10holdsFor(happy(X)=true, I) :-
   11    holdsFor(rich(X)=true, I1),
   12    holdsFor(location(X)=pub, I2),
   13    union_all([I1,I2], I)