{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/learning-to-prove-theorems-by-learning-to-1","title":"Learning to Prove Theorems by Learning to Generate Theorems","arxiv_id":"2002.07019","date":"2020-02-17","proceeding":"NeurIPS 2020 12","authors":["Mingzhe Wang","Jia Deng"],"abstract":"We consider the task of automated theorem proving, a key AI task. Deep learning has shown promise for training theorem provers, but there are limited human-written theorems and proofs available for supervised learning. To address this limitation, we propose to learn a neural generator that automatically synthesizes theorems and proofs for the purpose of training a theorem prover. Experiments on real-world tasks demonstrate that synthetic data from our approach improves the theorem prover and advances the state of the art of automated theorem proving in Metamath. Code is available at https://github.com/princeton-vl/MetaGen.","url_abs":"https://arxiv.org/abs/2002.07019v2","url_pdf":"https://arxiv.org/pdf/2002.07019v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"learning-to-prove-theorems-by-learning-to-1","repo_url":"https://github.com/princeton-vl/MetaGen","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"learning-to-prove-theorems-by-learning-to-1","repo_url":"https://github.com/jinpz/refactor","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"automated-theorem-proving","task_name":"Automated Theorem Proving"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/automated-theorem-proving-on-metamath-setmm","task":"Automated Theorem Proving","dataset":"Metamath set.mm","model":"MetaGen-IL + Holophrasm","rank_in_archive_order":2,"of":4,"metrics":{"Percentage correct":"22.1"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2002.07019","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2002.07019"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jinpz/refactor","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/princeton-vl/MetaGen","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"4e5de2d4813c6c5f","entry":"build_language_model","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4e5de2d4813c6c5f"}},{"code_sha256_prefix":"818eeefc8a3a8cc7","entry":"get_expr","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_forward.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_forward.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"818eeefc8a3a8cc7"}},{"code_sha256_prefix":"83f3b97d976fb076","entry":"get_wrong","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/build_payout_data_set.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/build_payout_data_set.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"83f3b97d976fb076"}},{"code_sha256_prefix":"4e1c5632f18f94aa","entry":"load_exprs","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4e1c5632f18f94aa"}},{"code_sha256_prefix":"d57a29a20c5256f9","entry":"load_language_model","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d57a29a20c5256f9"}},{"code_sha256_prefix":"52c06d883df1fb1f","entry":"mycollate","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_gen.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_gen.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"52c06d883df1fb1f"}},{"code_sha256_prefix":"6ee18bc59d0aa35e","entry":"mycollate","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_gen_noproof.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_gen_noproof.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6ee18bc59d0aa35e"}},{"code_sha256_prefix":"e277c3411abb881b","entry":"mycollate","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_lm.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_lm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e277c3411abb881b"}},{"code_sha256_prefix":"79d343599b6a5d20","entry":"mycollate","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_payout.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_payout.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"79d343599b6a5d20"}},{"code_sha256_prefix":"f6e1d8ab606f44a1","entry":"mycollate","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/data_loader_pred.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/data_loader_pred.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f6e1d8ab606f44a1"}},{"code_sha256_prefix":"7f6b640ff2600f3b","entry":"slow_delete_duplicates","repo":"princeton-vl/MetaGen","repo_kind":"official","path":"src/build_payout_data_set.py","file_url":"https://github.com/princeton-vl/MetaGen/blob/HEAD/src/build_payout_data_set.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7f6b640ff2600f3b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}