Appendix K
Rule-based system:
% Metalocutionary
rule-based system --
domain initial state
% DGN
%%%%%
%%%%% Knowledge: base facts
%%%%%
cycle(0). %
Initial value
person(adam). %
The two conversants
person(barney).
conversants(adam,barney).
% Initial state
%
:- recorda(adam,
state(conversants(adam,barney),0,-1),
_).
:- add(adam,believe(adam,turn(barney),mutually_known_true)).
:- add(adam,(act(adam,confirm_mutual(sequence([blank,i,s,u,t,w,r,q,g,l,d,
blank,blank,blank,blank,g,o])),goal_true))).
:- add(adam,believe(adam,sequence([blank,i,s,u,t,w,r,q,g,l,d,blank,
blank,blank,blank,g,o]),goal_mutually_known_true)).
:- add(adam,believe(adam,next_subsequence(subsequence(1,[blank])),true)).
:- add(adam,act(barney,give_turn(adam),true)).
:- recorda(barney,
state(conversants(barney,adam),
0, -1),
_).
:- add(barney,believe(barney,turn(adam),true)).
:- add(barney,act(barney,confirm_mutual(sequence([o,blank,s,u,t,w,r,q,
g,blank,blank,f,w,w,d,g,o])),goal_true)).
:- add(barney,believe(barney,sequence([o,blank,s,u,t,w,r,q,g,
blank,blank,f,w,w,d,g,o]),goal_mutually_known_true)).
:- add(barney,believe(barney,next_subsequence(subsequence(1,[o])),true)).