File tree Expand file tree Collapse file tree
resources/2026-english-ttr Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ // Computational actions for English
2+ // as per Dynamics of Conversational Dialogue project, 2010
3+
4+ // Rules prefixed with * are non-optional
5+ // Rules prefixed with + are applied repeatedly, exhausting all successful Rule Metavariable combinations
6+ // If a Rule is both non-optional and is to be exhaustively applied,
7+ // then the + should be preceded by the *, i.e. the name should be prefixed by "*+".
8+ // Rule metavariables: X,Y,Z
9+ // Formula metavariables: A,B,C
10+
11+ intro-pred
12+ IF ?ty(t)
13+ ¬<\/1>Ex.x
14+ ¬<\/0>Ex.x
15+ THEN make(\/1)
16+ go(\/1)
17+ put(?ty(e>t))
18+ go(/\1)
19+ make(\/0)
20+ go(\/0)
21+ put(?ty(e))
22+ ELSE abort
23+
24+ anticipation0
25+ IF <\/0>Ex.?x
26+ THEN go(\/0)
27+ ELSE abort
28+
29+ anticipation1
30+ IF <\/1>Ex.?x
31+ THEN go(\/1)
32+ ELSE abort
33+
34+ *thinning
35+ IF ?X
36+ X
37+ THEN delete(?X)
38+ ELSE abort
39+
40+
41+ completion
42+ IF ty(X)
43+ ¬?ty(X)
44+ </\>Ex.x
45+ THEN go(/\)
46+ ELSE abort
47+
48+ *elimination
49+ IF ?ty(X)
50+ ¬Ex.fo(x)
51+ <\/1>ty(Y>X)
52+ <\/0>ty(Y)
53+ ¬<\/1>Ex.?x
54+ ¬<\/0>Ex.?x
55+ THEN beta-reduce
56+ ELSE abort
57+
58+ //*
59+ star-adjunction
60+ IF ?ty(t)
61+ ¬<\/1>Ex.x
62+ ¬<\/0>Ex.x
63+ ¬<\/*>Ex.x
64+ THEN make(\/*)
65+ go(\/*)
66+ put(?ty(e))
67+ put(?Ex.tn(x))
68+ ELSE abort
69+ *//
70+
71+
72+ anticipationL
73+ IF (ty(t) || ty(e>t))
74+ <\/L>Ex.x
75+ THEN go(\/L)
76+ ELSE abort
77+
78+
79+ //*
80+
81+ link-adj-e
82+ IF ty(e)
83+ +PN
84+ ¬<\/L>Ex.x
85+ THEN put(?+eval)
86+ make(\/L)
87+ go(\/L)
88+ put(?ty(e))
89+ ELSE abort
90+
91+ *//
92+ //anticipating wh-response
93+ anticipation-res
94+ IF ty(t)
95+ complete
96+ <Z>+Q
97+ THEN go(Z)
98+ ELSE abort
99+
100+ late-star-adj-q
101+ IF ¬!
102+ +Q
103+ //</\*>tn(0)
104+ ty(X)
105+ //¬<\/1>Ex.x
106+ //¬<\/0>Ex.x
107+ ¬<\/*>Ex.x // should actually check for no existing unfixed node in this sub-tree
108+ Ex.tn(x)
109+ THEN delete(+Q)
110+ make(\/*)
111+ go(\/*)
112+ put(?Ex.tn(x))
113+ put(?ty(X))
114+ ELSE abort
115+
116+
117+ //*
118+ late-star-adj-q
119+ IF ty(t)
120+ //<\/*>+Q
121+ <Z>+Q
122+ THEN go(Z)
123+ IF ¬!
124+ //</\*>tn(0)
125+ ty(X) // could restrict this to e/t but no way to do disjunction here yet
126+ //¬<\/1>Ex.x
127+ //¬<\/0>Ex.x
128+ ¬<\/*>Ex.x // should actually check for no existing unfixed node in this sub-tree
129+ Ex.tn(x)
130+ THEN delete(+Q)
131+ make(\/*)
132+ go(\/*)
133+ put(?Ex.tn(x))
134+ put(?ty(X))
135+ ELSE abort
136+ ELSE abort
137+ *//
138+
139+
140+ merge
141+ IF Ex.tn(x)
142+ ¬<\/*>Ex.x
143+ <Y>(?Ex.tn(x) & ty(V))
144+ subsumes(Y)
145+ ?ty(V)
146+ THEN merge(Y)
147+ delete(?Ex.tn(x))
148+ ELSE abort
149+
150+ *late-star-merge
151+ IF ty(Y)
152+ Ex.tn(x)
153+ <\/*>?Ex.tn(x)
154+ <\/*>ty(Y)
155+ THEN IF Fo(X)
156+ THEN delete(Fo(X))
157+ merge(<\/*>)
158+ delete(?Ex.tn(x))
159+ unreduce
160+ ELSE merge(<\/*>)
161+ delete(?Ex.tn(x))
162+ unreduce
163+ ELSE abort
164+
165+
166+
167+ *link-evaluation
168+ IF ?+eval
169+ Ex.fo(x)
170+ <\/L>Ex.x
171+ <\/L>fo(X)
172+ THEN conjoin(X)
173+ delete(?+eval)
174+ IF </\L>Ex.x
175+ ¬</\L>?+eval
176+ THEN go(/\L)
177+ put(?+eval)
178+ ELSE do_nothing
179+ ELSE abort
180+
181+
182+ //transition relevance place
183+
184+ trp
185+ IF complete
186+ THEN addaxiom
187+ ELSE abort
188+
189+
190+
You can’t perform that action at this time.
0 commit comments