Skip to content

Commit 643b220

Browse files
feat(lexicon): add 2026-english-ttr lexicon.
1 parent c0dc5d2 commit 643b220

4 files changed

Lines changed: 1790 additions & 0 deletions

File tree

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
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+

0 commit comments

Comments
 (0)