law(exim1,language(prolog)). portal(exim2,lawURL(http://www.moses.rutgers.edu/examples/exim/exim2.law)) sent(X,foreign(M),Y) :- do(forward(X,M,[Y,exim2])). sent(X,M,Y) :- do(forward). arrived(X,M,Y) :- do(deliver). arrived([X,exim2],M,Y) :- do(deliver(X,foreign(M,PeerHash),Y)). disconnected :- do(quit). exception(E,Fc) :- do(deliver(Self,exc(E,Fc),Self)).