Team Ai
Datasetpublic

Emulated-Inc/procedural-reasoning-training-pool

Procedural reasoning training pool Reasoning questions from 101 procedural generators, each of which writes a question, computes its own answer and ships a verifier that scores an attempt at it, plus a collection of solved Sudoku puzzles. Every answer is short and exactly checkable, so a trained model can be marked against the key by a program and no judge is needed. Laid out twice. Train on either layer or on both. pool.jsonl Every generator rewritten into one… See the full description on the dataset page: https://huggingface.co/datasets/Emulated-Inc/procedural-reasoning-training-pool.

sourceHugging Facecc-by-4.0updated 28d agoView on Hugging Face
0likes257downloads
Dataset Card

Procedural reasoning training pool

Reasoning questions from 101 procedural generators, each of which writes a question, computes its own answer and ships a verifier that scores an attempt at it, plus a collection of solved Sudoku puzzles. Every answer is short and exactly checkable, so a trained model can be marked against the key by a program and no judge is needed. Laid out twice. Train on either layer or on both.

pool.jsonl

Every generator rewritten into one shape, 161495 rows, one JSON object per line, with these fields.

FieldWhat it holds
ida row identifier unique within this file
generatorthe generator that wrote the row, one of those listed below
familythe package of the library the generator belongs to
partcore for the twenty drawn deeply, wider for the rest, collected for the downloaded puzzles
questionthe question, exactly as its generator wrote it
answerthe generator's own answer, or null
worked_answera worked answer or an accepted answer where the generator records one
worked_answer_fieldwhich of its metadata fields that came from
metadatathe generator's own record for the row, which its verifier reads
sourcethe directory under sources/ the row came from
source_seedthe seed the row was drawn under
provenance_classhow the row came to exist
licencethe licence of the part it came from

158999 rows carry an answer and 70182 carry a worked answer. The answer is the generator's own answer field. Five generators write no answer at all, because any response that satisfies the puzzle is correct and their verifier checks the response rather than compares it. Three of them record an acceptable answer in their metadata, which is what worked_answer holds for those rows, and 1001 rows hold neither an answer nor a worked answer and are a prompt with a verifier and no key. The verifier for a row is the generator named in its generator field, reached through the library at version 0.1.25: create that generator and hand it the answer together with the row's own question, answer and metadata. Several verifiers give partial credit for a near miss, so read the score rather than only its sign. Every shipped key was read by the verifier of the generator that wrote the row, exactly as that verifier reads a model's answer, and a row whose own key it did not score at 1.0 is not here. 6 rows were dropped that way.

Worth knowing about that version. The library's own __version__ string still reads 0.1.19 in this release, so the distribution version is what is pinned. Install reasoning-gym==0.1.25 and read the version back from the distribution metadata rather than from the module.

Rows are written one generator after another. One row per canonical question within a generator, the canonical form being the question with runs of whitespace collapsed. Repeats are skipped during the draw rather than removed afterwards. Within a generator a question appears once.

sources/

The same items untouched, 776495 rows. The library's own entries as drawn, one jsonl file per generator under the directory of the library package it belongs to, with only the dropped rows taken out, and the downloaded collection under its own directory in the parquet files and with the columns its repository publishes. Nothing here was renamed, reshaped, reordered or deduplicated, so use this layer if you want to pose the questions yourself, or want a column the rewritten rows drop, such as the printed grid the Sudoku collection carries beside its flat one.

The generators

20 generators were drawn at 5000 items each under seed 40260912, and 81 at 500 items each under seed 50260912. A generator whose question space is narrower than the count asked for contributed what it had, and no question on the held-out list named under Filtering comes from a generator of the second group. Rows in the rewritten layer per generator, with the package it belongs to.

GeneratorFamilyPartRowsWith an answerWith a worked answer
basic_arithmeticarithmeticcore497549754975
calendar_arithmeticarithmeticcore498549850
chain_sumarithmeticcore499449944994
gcdarithmeticcore499849980
time_intervalsarithmeticcore500050000
complex_arithmeticalgebracore495949590
polynomial_multiplicationalgebracore500050000
simple_equationsalgebracore500050000
aiwlogiccore494049400
knights_knaveslogiccore500050005000
self_referencelogiccore269826980
family_relationshipsgraphscore500050000
shortest_pathgraphscore500050003174
mini_sudokugamescore499949994999
color_cube_rotationcognitioncore500050000
number_sequencecognitioncore471147114711
palindrome_generationalgorithmiccore499549950
sentence_reorderingalgorithmiccore497449740
spell_backwardalgorithmiccore499349930
word_sequence_reversalalgorithmiccore500050000
abalgorithmicwider5005000
acreinductionwider5005000
advanced_geometrygeometrywider5005000
base_conversionalgorithmicwider4994990
bfcodewider5005000
binary_alternationalgorithmicwider500500500
binary_matrixalgorithmicwider500500500
bitwise_arithmeticarithmeticwider5005000
boxnetgameswider50000
caesar_cipheralgorithmicwider5005000
circuit_logiclogicwider500500500
coin_flipprobabilitywider2582580
count_bitsarithmeticwider500500500
count_primesalgorithmicwider500500500
countdowngameswider500500500
course_schedulegraphswider500500500
cryptarithmalgorithmicwider5005000
decimal_arithmeticarithmeticwider5005000
decimal_chain_sumarithmeticwider500500500
dicearithmeticwider5005000
emoji_mysterygameswider5005000
figlet_fontcognitionwider5005000
fraction_simplificationarithmeticwider5005000
futoshikigameswider500500500
game_of_lifealgorithmicwider5005000
game_of_life_haltingalgorithmicwider5005000
graph_coloralgorithmicwider5000500
group_anagramsalgorithmicwider500500500
gsm_symbolicarithmeticwider4994990
intermediate_integrationalgebrawider5005000
isomorphic_stringsalgorithmicwider500500500
jugsalgorithmicwider5005000
kakurasugameswider500500500
knight_swapgameswider500500402
largest_islandgraphswider500500500
lcmarithmeticwider5005000
leg_countingarithmeticwider5005000
letter_countingalgorithmicwider5005000
letter_jumblealgorithmicwider5005000
list_functionsinductionwider5005000
mahjong_puzzlegameswider500500500
manipulate_matrixalgorithmicwider500500500
mazegameswider5005000
modulo_gridcognitionwider5005000
n_queensgameswider500500500
needle_haystackcognitionwider5005000
number_filteringalgorithmicwider5005000
number_formatarithmeticwider500500500
number_sortingalgorithmicwider5005000
palindrome_partitioningalgorithmicwider500500500
path_stargraphswider5005000
polynomial_equationsalgebrawider5005000
pool_matrixalgorithmicwider500500500
power_functionarithmeticwider500500500
prime_factorizationarithmeticwider5005000
productsarithmeticwider500500500
propositional_logiclogicwider4960496
puzzle24gameswider5005000
quantum_lockgraphswider5005000
ransom_notealgorithmicwider500500500
rectangle_countcognitionwider500500500
rotate_matrixalgorithmicwider500500500
rotten_orangesalgorithmicwider500500500
rubiks_cubecognitionwider5000499
rush_hourgameswider50000
simple_geometrygeometrywider5005000
simple_integrationalgebrawider5005000
sokobangameswider5005000
spiral_matrixalgorithmicwider500500500
string_insertionalgorithmicwider500500500
string_manipulationalgorithmicwider500500500
string_splittingalgorithmicwider216216216
string_synthesisalgorithmicwider216216216
sudokugameswider500500500
survogameswider500500500
syllogismlogicwider5005000
tower_of_hanoigameswider90900
tsumegogameswider5005000
word_ladderalgorithmicwider5005000
word_sortingalgorithmicwider5005000
zebra_puzzleslogicwider5005000
sudokusudoku_puzzlescollected250002500025000

The sources

sources/algebra

The 6 generators the library keeps in its algebra package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 16459 rows in 6 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/algorithmic

The 34 generators the library keeps in its algorithmic package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 34393 rows in 34 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/arithmetic

The 18 generators the library keeps in its arithmetic package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 31451 rows in 18 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/code

The 1 generator the library keeps in its code package, drawn from version 0.1.25 of the reasoning-gym library under seed 50260912. 500 rows in 1 file, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/cognition

The 7 generators the library keeps in its cognition package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 12211 rows in 7 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/games

The 17 generators the library keeps in its games package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 12589 rows in 17 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/geometry

The 2 generators the library keeps in its geometry package, drawn from version 0.1.25 of the reasoning-gym library under seed 50260912. 1000 rows in 2 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/graphs

The 6 generators the library keeps in its graphs package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 12000 rows in 6 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/induction

The 2 generators the library keeps in its induction package, drawn from version 0.1.25 of the reasoning-gym library under seed 50260912. 1000 rows in 2 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/logic

The 7 generators the library keeps in its logic package, drawn from version 0.1.25 of the reasoning-gym library under seeds 40260912, 50260912. 14634 rows in 7 files, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/probability

The 1 generator the library keeps in its probability package, drawn from version 0.1.25 of the reasoning-gym library under seed 50260912. 258 rows in 1 file, all of which also appear in pool.jsonl. Provenance class rule-generated, licence cc-by-4.0. Every line is one of the library's own entries, whose keys are question, answer and metadata.

sources/sudoku_puzzles

A published collection of 9x9 Sudoku puzzles with their solutions, in five files of falling clue counts from 63 down to 17. From abatilo/sudokubench at revision 8efe5b22131f4d9720126822e910cf11bfb347db, files kids.parquet, easy.parquet, medium.parquet, hard.parquet, insane.parquet. 640000 rows here, of which 25000 also appear in pool.jsonl: 5000 rows of each file, drawn under seed 40260912, rewritten into the shape the library's own Sudoku generator uses so that the same verifier scores them. Provenance class rule-generated, licence apache-2.0. Its own fields are startingcells, puzzle, puzzlepretty, solution, solution_pretty.

Worth knowing. The puzzles were made by a program, like the drawn rows, so the class is the same. What the collection adds is a wider clue range and a much larger stock of puzzles than a draw of one generator, in its own files

Provenance and licences

Every row here is rule-generated, which is the honest headline for this pool. A program wrote each question from a template over values it drew, computed the answer as it built the item, and ships the code that checks an attempt. No row was written by a person and no row was written by a language model.

Worth knowing before training on this. A model trained on the output of a generator can learn the generator rather than the rule behind it, and here the generator is what made every item. The generators are public and unbounded, so more rows of any of them can be drawn at any seed, and the value of this file is that it is a fixed, decontaminated, verifiable draw rather than that it is the only one available.

The pool as a whole is offered under cc-by-4.0. The drawn rows come out of the reasoning-gym library (github.com/open-thought/reasoning-gym), which is released under apache-2.0 and is credited here as the author of every question and every verifier. The Sudoku collection is apache-2.0. Each row carries its own licence in the licence field and each directory under sources/ is one part, so a subset under a single licence can be selected.

Filtering

391 rows were removed before publication, from both layers alike, because their question repeated a question on a held-out list word for word once whitespace was collapsed, and 191 more because one single held-out question accounted for four fifths or more of the row's word 8-grams. The list is not distributed here. 6 further rows went for the reason given above, their own verifier not accepting their own key. Nothing else was filtered: no generator, no length and no difficulty was selected for or against, so every generator contributes as many rows as its draw left, and the generator and family fields are how to select what you want.