diff options
Diffstat (limited to 'modeling/prod_comp.py')
-rw-r--r-- | modeling/prod_comp.py | 575 |
1 files changed, 575 insertions, 0 deletions
diff --git a/modeling/prod_comp.py b/modeling/prod_comp.py new file mode 100644 index 0000000..5bf30c9 --- /dev/null +++ b/modeling/prod_comp.py @@ -0,0 +1,575 @@ +#!/usr/bin/env python3 + + +def greater_than(Model): + prods = [] + + arg1_greater = Model.productionstring( + name="arg1_greater", + string=""" + =g> + isa math_goal + task arg1 + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + tens1 =ten1 + ones1 =one1 + ==> + =g> + isa math_goal + task done + =imaginal> + isa math_op + hundreds_ans =hun1 + tens_ans =ten1 + ones_ans =one1 + """, + ) + prods.append(arg1_greater) + + arg2_greater = Model.productionstring( + name="arg2_greater", + string=""" + =g> + isa math_goal + task arg2 + =imaginal> + isa math_op + op greater + hundreds2 =hun2 + tens2 =ten2 + ones2 =one2 + ==> + =g> + isa math_goal + task done + =imaginal> + isa math_op + hundreds_ans =hun2 + tens_ans =ten2 + ones_ans =one2 + """, + ) + prods.append(arg2_greater) + + start_greater_hun = Model.productionstring( + name="start_greater_hun", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + hundreds2 ~=hun1 + hundreds2 =hun2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + """, + ) + prods.append(start_greater_hun) + + start_greater_ten = Model.productionstring( + name="start_greater_ten", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + hundreds2 =hun1 + tens1 =ten1 + tens2 ~=ten1 + tens2 =ten2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + """, + ) + prods.append(start_greater_ten) + + start_greater_one = Model.productionstring( + name="start_greater_one", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + hundreds2 =hun1 + tens1 =ten1 + tens2 =ten1 + ones1 =one1 + ones2 ~=one1 + ones2 =one2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + """, + ) + prods.append(start_greater_one) + + comp_result_hun_greater_arg1 = Model.productionstring( + name="comp_result_hun_greater_arg1", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + hundreds2 =hun2 + =retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + result =hun1 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_hun_greater_arg1) + + comp_result_hun_greater_arg2 = Model.productionstring( + name="comp_result_hun_greater_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + hundreds1 =hun1 + hundreds2 =hun2 + =retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + result =hun2 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_hun_greater_arg2) + + comp_result_ten_greater_arg1 = Model.productionstring( + name="comp_result_ten_greater_arg1", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + tens1 =ten1 + tens2 =ten2 + =retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + result =ten1 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_ten_greater_arg1) + + comp_result_ten_greater_arg2 = Model.productionstring( + name="comp_result_ten_greater_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + tens1 =ten1 + tens2 =ten2 + =retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + result =ten2 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_ten_greater_arg2) + + comp_result_one_greater_arg1 = Model.productionstring( + name="comp_result_one_greater_arg1", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + ones1 =one1 + ones2 =one2 + =retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + result =one1 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_one_greater_arg1) + + comp_result_one_greater_arg2 = Model.productionstring( + name="comp_result_one_greater_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op greater + ones1 =one1 + ones2 =one2 + =retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + result =one2 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_one_greater_arg2) + + return prods + + +def less_than(Model): + prods = [] + + arg1_less = Model.productionstring( + name="arg1_less", + string=""" + =g> + isa math_goal + task arg1 + =imaginal> + isa math_op + op less + hundreds1 =hun1 + tens1 =ten1 + ones1 =one1 + ==> + =g> + isa math_goal + task done + =imaginal> + isa math_op + hundreds_ans =hun1 + tens_ans =ten1 + ones_ans =one1 + """, + ) + prods.append(arg1_less) + + arg2_less = Model.productionstring( + name="arg2_less", + string=""" + =g> + isa math_goal + task arg2 + =imaginal> + isa math_op + op less + hundreds2 =hun2 + tens2 =ten2 + ones2 =one2 + ==> + =g> + isa math_goal + task done + =imaginal> + isa math_op + hundreds_ans =hun2 + tens_ans =ten2 + ones_ans =one2 + """, + ) + prods.append(arg2_less) + + start_less_hun = Model.productionstring( + name="start_less_hun", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op less + hundreds1 =hun1 + hundreds2 ~=hun1 + hundreds2 =hun2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + """, + ) + prods.append(start_less_hun) + + start_less_ten = Model.productionstring( + name="start_less_ten", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op less + hundreds1 =hun1 + hundreds2 =hun1 + tens1 =ten1 + tens2 ~=ten1 + tens2 =ten2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + """, + ) + prods.append(start_less_ten) + + start_less_one = Model.productionstring( + name="start_less_one", + string=""" + =g> + isa math_goal + task calc + =imaginal> + isa math_op + op less + hundreds1 =hun1 + hundreds2 =hun1 + tens1 =ten1 + tens2 =ten1 + ones1 =one1 + ones2 ~=one1 + ones2 =one2 + ==> + =g> + isa math_goal + task comp + +retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + """, + ) + prods.append(start_less_one) + + comp_result_hun_less_arg2 = Model.productionstring( + name="comp_result_hun_less_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + hundreds1 =hun1 + hundreds2 =hun2 + =retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + result =hun1 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_hun_less_arg2) + + comp_result_hun_less_arg1 = Model.productionstring( + name="comp_result_hun_less", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + hundreds1 =hun1 + hundreds2 =hun2 + =retrieval> + isa math_op + op greater + arg1 =hun1 + arg2 =hun2 + result =hun2 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_hun_less_arg1) + + comp_result_ten_less_arg2 = Model.productionstring( + name="comp_result_ten_less_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + tens1 =ten1 + tens2 =ten2 + =retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + result =ten1 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_ten_less_arg2) + + comp_result_ten_lesser_arg1 = Model.productionstring( + name="comp_result_ten_lesser_arg1", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + tens1 =ten1 + tens2 =ten2 + =retrieval> + isa math_op + op greater + arg1 =ten1 + arg2 =ten2 + result =ten2 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_ten_lesser_arg1) + + comp_result_one_less_arg2 = Model.productionstring( + name="comp_result_one_less_arg2", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + ones1 =one1 + ones2 =one2 + =retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + result =one1 + ==> + =g> + isa math_goal + task arg2 + """, + ) + prods.append(comp_result_one_less_arg2) + + comp_result_one_lesser_arg1 = Model.productionstring( + name="comp_result_one_lesser_arg1", + string=""" + =g> + isa math_goal + task comp + =imaginal> + isa math_op + op less + ones1 =one1 + ones2 =one2 + =retrieval> + isa math_op + op greater + arg1 =one1 + arg2 =one2 + result =one2 + ==> + =g> + isa math_goal + task arg1 + """, + ) + prods.append(comp_result_one_lesser_arg1) + + return prods |