1:- use_module(library(pita)).    2
    3:- pita.    4
    5:- begin_lpad.    6
    7holdsAt(F, T) :-
    8  initially(F),
    9  \+ clipped(0, F, T).
   10holdsAt(F, T2) :- 
   11  initiates(F, T1),
   12  T1 < T2 ,
   13  \+ clipped(T1 ,F, T2 ).
   14clipped(T1 ,F, T3) :-
   15  terminates(F, T2),
   16  T1 < T2 , T2 < T3.
   17
   18initiates(locatedIn(A, B), T):0.66 :- 
   19  happens(arrive(A, B), T).
   20terminates(locatedIn(A, D), T):0.66 :-
   21  happens(arrive(A, B), T),
   22  B \= D.
   23initially(locatedIn(bob, garden)).
   24happens(arrive(bob, kitchen), 3). 
   25happens(arrive(bob, garage), 5).
   26
   27:- end_lpad.

?- prob(holdsAt(locatedIn(bob,garden),2),P). % 1.0 ?- prob(holdsAt(locatedIn(bob,garden),4),P). % 0.34 ?- prob(holdsAt(locatedIn(bob,kitchen),4),P). % 0.66 ?- prob(holdsAt(locatedIn(bob,garage),6),P). % 0.66.

*/