% A Simple Planning Example initiates(X,Y) iff [ [X=write(B), Y=in_touch_with(B)]]. precond(X,Y) iff [ [X=write(B), Y=have_connection], [X=write(B), Y=know_address(B)]]. holds_initially(X) iff [ [X=know_address(b)], [X=have_connection]]. holds_at(X,T) iff [ [X=in_touch_with(B), happens(write(B),T1), not(clipped(T1,in_touch_with(B),T)), T1#