Agent-K completed

Winton Davies (wdavies@csd.abdn.ac.uk)
Mon, 26 Sep 1994 18:59:41 +0100

--========================_6372196==_
Content-Type: text/plain; charset="us-ascii"

Hi,
I'm pleased to announce the birth of "agent-K". I am waiting for
feedback from Y.Shoham before releasing the alpha version, but here's a
taster of it,
attached should be c3po.pl and c3po.log (it interacting with r2d2).

I apologise if the log file comes out oddly - my Mac editor doesn't like
Unix typescripts :-).

FTP access to the sources and a Tech Report should be forthcoming ASAP.

Cheers,
Winton

--========================_6372196==_
Content-Type: text/plain; name="c3po.pl"; charset="us-ascii"
Content-Disposition: attachment; filename="c3po.pl"

:-
assert((who_am_i(c3po))),
assert(can(_,kqml(_,_))),
assert(can(_,do(_,_))),
assert(can(_,initialise_agent(_))),
assert(can(_,add_friend(_,_))),
assert(can(_,refrain(_,_,_))),
assert(can(_,believe(_))),
assert(can(_,say(_))).

say(X) :- nl,write('EXCUSE ME SIR! > '),log(X),nl.

/**** Initiliase Agent rules ****/
commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
do(Now,initialise_agent('tcp://condor:9002'))).

commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
do(Now,add_friend(r2d2,'tcp://condor:9001'))).

commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
believe([Now,good('Hans Solo')])).

commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
believe([Now,alive(c3po)])).

/**** Poll other agents until they are alive (wasteful!) ****/
commit([nil],
[clock(Now),b([Now,not(alive(r2d2))])],
nil,
kqml(Now,['ask-all',sender(c3po),receiver(r2d2),
content(b([Now,alive(r2d2)])),language(prolog)])).

/***** Once alive, then 'ask-all' who's a good guy ****/
commit([nil],
[clock(Now),b([Now,alive(r2d2)]),b([Now,not(wait_reply)])],
nil,

kqml(Now,['ask-all',sender(c3po),receiver(r2d2),content(b([Now,good(_A)])),l
anguage(prolog)])).

/**** But only once ... ****/
commit([nil],
[clock(Now),b([Now,alive(r2d2)]),b([Now,not(wait_reply)])],
nil,
believe([Now,wait_reply])).

/**** If 'ask-all'ed something then reply *****/
commit(['ask-all',content(b([T,F]))],
[clock(Now),b([T,F])] ,
S,

kqml(Now,[reply,receiver(S),sender(c3po),content(b([T,F])),language(prolog)]
)).

/*** If replied to then believe it *****/
commit([reply,content(b([T,F]))],
[],
_,
believe([T,F])).

/**** If replied to then say it. ****/
commit(
[reply,content(b([T,F]))],
[clock(Now)],
S,
do(Now,say(['Ive been told ',[T,F], ' from ',S]))).

--========================_6372196==_
Content-Type: text/plain; name="c3po.log.2"; charset="us-ascii"
Content-Disposition: attachment; filename="c3po.log.2"

Script started on Mon Sep 26 17:58:10 1994
[17:58]~/aop% prolog +l agentk.pl c3po log 20
Envoking agent command:log

Envoking agent command:20

***************************** 5:58:23 PM 26-Sep-94 ****************************

getActiveURL: No incoming transports active.

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do.

=> do([8,26,94,17,58,23],initialise_agent('tcp://condor:9002')).

2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do.

=> do([8,26,94,17,58,23],add_friend(r2d2,'tcp://condor:9001')).

3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe.

=> believe([[8,26,94,17,58,23],good('Hans Solo')]).

4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe.

=> believe([[8,26,94,17,58,23],alive(c3po)]).

5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.

=> kqml([8,26,94,17,58,23],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,23],alive(r2d2)])),language(prolog)]).

6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

['SetUp:',2]. ['Listen:',1].

['Friend:',r2d2,'tcp://condor:9001','Status:',1].

TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,23],alive(r2d2)]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:24 PM 26-Sep-94 ****************************

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.

=> kqml([8,26,94,17,58,24],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,24],alive(r2d2)])),language(prolog)]).

6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,24],alive(r2d2)]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:25 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,23],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,24],alive(c3po)]).)

----------------------------------------------------------------------------

---

[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,23],alive(r2d2) ])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.

=> believe([[8,26,94,17,58,23],alive(r2d2)]).

10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

=> do([8,26,94,17,58,25],say(['Ive been told ',[[8,26,94,17,58,23],alive(r2d2)],' from ',r2d2])).

----------------------------------------------------------------------------

---

['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,24],alive(c 3po)])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.

=> kqml([8,26,94,17,58,25],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,24],alive(c3po)])),language(prolog)]).

9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.

=> kqml([8,26,94,17,58,25],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,25],alive(r2d2)])),language(prolog)]).

6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,23],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,24],alive(c3po)]).) TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,25],alive(r2d2)]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:26 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,24],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,25],alive(c3po)]).)

----------------------------------------------------------------------------

---

[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,24],alive(r2d2) ])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.

=> believe([[8,26,94,17,58,24],alive(r2d2)]).

10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

=> do([8,26,94,17,58,26],say(['Ive been told ',[[8,26,94,17,58,24],alive(r2d2)],' from ',r2d2])).

----------------------------------------------------------------------------

---

['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,25],alive(c 3po)])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.

=> kqml([8,26,94,17,58,26],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,25],alive(c3po)])),language(prolog)]).

9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

=> kqml([8,26,94,17,58,26],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,26],good(A)])),language(prolog)]).

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe.

=> believe([[8,26,94,17,58,26],wait_reply]).

8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,24],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,25],alive(c3po)]).) TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,26],good(A)]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:27 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,25],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,26],alive(c3po)]).)

----------------------------------------------------------------------------

---

[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,25],alive(r2d2) ])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.

=> believe([[8,26,94,17,58,25],alive(r2d2)]).

10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

=> do([8,26,94,17,58,27],say(['Ive been told ',[[8,26,94,17,58,25],alive(r2d2)],' from ',r2d2])).

----------------------------------------------------------------------------

---

['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,26],alive(c 3po)])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.

=> kqml([8,26,94,17,58,27],[reply,receiver(r2d2),sender(c3po),content(b([[8,26,94,17,58,26],alive(c3po)])),language(prolog)]).

9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,25],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,26],alive(c3po)]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:28 PM 26-Sep-94 ****************************

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:31 PM 26-Sep-94 ****************************

TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,26],good('Princess Leia')]).)

TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,27],good(A)]).)

----------------------------------------------------------------------------

---

[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,26],good('Princess Leia')])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.

=> believe([[8,26,94,17,58,26],good('Princess Leia')]).

10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

=> do([8,26,94,17,58,31],say(['Ive been told ',[[8,26,94,17,58,26],good('Princess Leia')],' from ',r2d2])).

----------------------------------------------------------------------------

---

['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,27],good(A) ])),language(prolog)].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.

=> kqml([8,26,94,17,58,31],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,27],good('Hans Solo')])),language(prolog)]).

9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,26],good('Princess Leia')],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,27],good('Hans Solo')]).)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

***************************** 5:58:38 PM 26-Sep-94 ****************************

----------------------------------------------------------------------------

---

[nil].

1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.

7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

--========================_6372196==_--