...
(0.3, 'retrieval', 'RETRIEVED: addition_fact(addend1= 3, addend2= 4, sum= 7)')
(0.3, 'goal', 'MODIFIED')
(0.3, 'retrieval', 'START RETRIEVAL')
(0.3, 'PROCEDURAL', 'CONFLICT RESOLUTION')
(0.3, 'PROCEDURAL', 'RULE SELECTED: addTensDone')
(0.35, 'retrieval', 'RETRIEVED: None')
(0.35, 'PROCEDURAL', 'RULE FIRED: addTensDone')
(0.35, 'goal', 'MODIFIED')
(0.35, 'PROCEDURAL', 'CONFLICT RESOLUTION')
(0.35, 'PROCEDURAL', 'NO RULE FOUND')
final goal: add_pair(carry= nil, one1= 6, one2= 7, one_ans= 3, ten1= 3, ten2= 4, ten_ans= 7)
Both other frameworks are correct. Here's vanilla ACT-R:
...
0.350 DECLARATIVE start-retrieval
0.350 PROCEDURAL CONFLICT-RESOLUTION
0.400 DECLARATIVE RETRIEVED-CHUNK FACT_3
0.400 DECLARATIVE SET-BUFFER-CHUNK RETRIEVAL FACT_3
0.400 PROCEDURAL CONFLICT-RESOLUTION
0.450 PROCEDURAL PRODUCTION-FIRED ADDTENSDONE
8 3
The generated code for the productions in pyactr and vanilla ACT-R look the same.