blob: 8bf1ebbb109cb3e3b914a1fa6aa29de03e17f60d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
#!/usr/bin/env python3
def number(Model):
prods = []
number_expand_arg1 = Model.productionstring(
name="number_expand_arg1",
string="""
=g>
isa math_goal
op expand
expand_slot arg1
arg1 =num
==>
+retrieval>
isa number
number =num
"""
)
prods.append(number_expand_arg1)
number_expand_arg1_done = Model.productionstring(
name="number_expand_arg1_done",
string="""
=g>
isa math_goal
op expand
expand_slot arg1
arg1 =num
=retrieval>
isa number
number =num
ones =one
tens =ten
hundreds =hun
==>
=g>
isa math_goal
op done
ones1 =one
tens1 =ten
hundreds1 =hun
"""
)
prods.append(number_expand_arg1_done)
number_expand_arg2 = Model.productionstring(
name="number_expand_arg2",
string="""
=g>
isa math_goal
op expand
expand_slot 2arg
arg2 =num
==>
+retrieval>
isa number
number =num
"""
)
prods.append(number_expand_arg2)
number_expand_arg2_done = Model.productionstring(
name="number_expand_arg2_done",
string="""
=g>
isa math_goal
op expand
expand_slot arg2
arg2 =num
=retrieval>
isa number
number =num
ones =one
tens =ten
hundreds =hun
==>
=g>
isa math_goal
op done
ones2 =one
tens2 =ten
hundreds2 =hun
"""
)
prods.append(number_expand_arg2_done)
number_contract_result = Model.productionstring(
name="number_contract_result",
string="""
=g>
isa math_goal
op contract
expand_slot result
ones_ans =ones
tens_ans =tens
hundreds_ans =huns
==>
+retrieval>
isa number
ones =ones
tens =tens
hundreds =huns
"""
)
prods.append(number_contract_result)
number_contract_result_done = Model.productionstring(
name="number_contract_result_done",
string="""
=g>
isa math_goal
op contract
expand_slot result
ones_ans =ones
tens_ans =tens
hundreds_ans =huns
=retrieval>
isa number
number =num
ones =ones
tens =tens
hundreds =huns
==>
=g>
isa math_goal
op done
result =num
"""
)
prods.append(number_contract_result_done)
return prods
|