law(external,language(prolog)) sent(X,release(M,H,P),Y):-do(release(X,M,[H,P])). sent(X,M,Y):- do(forward). arrived(X,M,Y):-do(deliver). submitted([H,P],[M],D) :- do(deliver(H,M,D)). disconnected :- do(quit). exception(E,Fc) :- do(deliver(Self,exc(E,Fc),Self)).