was supposed to ring. If the phone A went off-hook it was supposed to send an (offHook, A) message to the exchange. If the user of phone A dialled some digit D, then a (digit, A, D) message would be sent to the exchange.”
the subscriber N is idle on(N) means subscribed N in on hook ... etc. etc. operators: +t(A, dial_tone) means add a dial tone to A rules: process(A, f) :- on(A), idle(A), +t(A,dial-tone), +d(A, []), -idle(A), +of(A)