Appendix D
Conversational operators
Information/Reference-Level Operators
OPERATOR
assert:
level: information/reference
IF wants(Me,assert(Me,Info,Other))
turn(Me)
THEN assert(Me,Info,Other)
EFFECTS - wants(Me,act(Me,assert(Info,Other))
OPERATOR assertion-received:
level: information
IF act(Other,assert(believe(Other,Info),Me))
turn(Other)
not(believe(Other,Info))
EFFECTS + believe(Other,Info)
OPERATOR do-request:
level: information
IF wants(Me,request(Me,Info,Other))
turn(Me)
THEN request(Me,Info,Other)
EFFECTS - wants(Me,request(Me,Info,Other))
OPERATOR do-request-received:
level: information
IF request(Other,act(Me,Act),Me))
wants(Me,act(Me,Act))
EFFECTS - request(Other,act(Me,Act),Me))
Turn-Level Operators
OPERATOR acknowledge-my-turn:
level: turn
IF turn(Other)
give_turn(Other,Me)
THEN acknowledge_turn(Me,turn(Me))
EFFECTS - give_turn(Other,Me)
-
turn(Other)
+
turn(Me)
OPERATOR
acknowledge-others-turn:
level: turn
IF turn(Me)
take_turn(Other)
not(wants(Me,act(Me,Act)))
THEN acknowledge_turn(turn(Other))
EFFECTS - take_turn(Other)
-
turn(Me)
+
turn(Other)
OPERATOR recognize-my-turn-1:
level: turn
IF give_turn(Other,Me)
turn(Other)
not(request_turn(Me))
EFFECTS - turn(Other)
-
give_turn(Other,Me)
+
turn(Me)
OPERATOR recognize-my-turn-2:
level: turn
IF give_turn(Other,Me)
request-turn(Me)
turn(Other)
EFFECTS - turn(Other)
-
request-turn(Me)
-
give_turn(Other,Me)
+
turn(Me)
OPERATOR give-turn-1:
level: turn
IF wants(Me,act(Other,Act))
turn(Me)
THEN give_turn(Me,Other)
EFFECTS - turn(Me)
+
turn(Other)
OPERATOR give-turn-2:
level: turn
IF request_turn(Other)
turn(Me)
not(wants(Me,act(Me,Act)
THEN give_turn(Me,Other)
EFFECTS - turn(Me)
-
request_turn(Other)
+
turn(Other)
OPERATOR give-turn-3:
level: turn
IF request(Me,Info,Other)
turn(Me)
THEN give_turn(Me,Other)
EFFECTS - turn(Me)
+
turn(Other)
OPERATOR request-turn:
level: turn
IF wants(Me,act(Me,Act))
turn(Other)
not(request_turn(Me))
(Act
= assert(Me,Info,Other)) or
(Act = request(Me,Req,Other))
THEN request_turn(Me)
OPERATOR hold-turn:
level: turn
IF wants(Me,act(Me,Act))
turn(Me)
not(hold_turn(Me))
(Act
= assert(Me,Info,Other)) or
(Act = request(Me,Req,Other))
THEN hold_turn(Me)