{"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/lemma-bootstrapping-high-level-mathematical","title":"LEMMA: Bootstrapping High-Level Mathematical Reasoning with Learned Symbolic Abstractions","arxiv_id":"2211.08671","date":"2022-11-16","proceeding":null,"authors":["Zhening Li","Gabriel Poesia","Omar Costilla-Reyes","Noah Goodman","Armando Solar-Lezama"],"abstract":"Humans tame the complexity of mathematical reasoning by developing hierarchies of abstractions. With proper abstractions, solutions to hard problems can be expressed concisely, thus making them more likely to be found. In this paper, we propose Learning Mathematical Abstractions (LEMMA): an algorithm that implements this idea for reinforcement learning agents in mathematical domains. LEMMA augments Expert Iteration with an abstraction step, where solutions found so far are revisited and rewritten in terms of new higher-level actions, which then become available to solve new problems. We evaluate LEMMA on two mathematical reasoning tasks--equation solving and fraction simplification--in a step-by-step fashion. In these two domains, LEMMA improves the ability of an existing agent, both solving more problems and generalizing more effectively to harder problems than those seen during training.","url_abs":"https://arxiv.org/abs/2211.08671v1","url_pdf":"https://arxiv.org/pdf/2211.08671v1.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":"lemma-bootstrapping-high-level-mathematical","repo_url":"https://github.com/uranium11010/lemma","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"lemma","task_name":"LEMMA"},{"task_slug":"mathematical-reasoning","task_name":"Mathematical Reasoning"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2211.08671","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.08671"}},"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/uranium11010/lemma","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"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":"85b9cc3b36e518db","entry":"load_axioms","repo":"uranium11010/lemma","repo_kind":"official","path":"abs_util.py","file_url":"https://github.com/uranium11010/lemma/blob/HEAD/abs_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"85b9cc3b36e518db"}},{"code_sha256_prefix":"e10feb9746bf36c1","entry":"load_solutions","repo":"uranium11010/lemma","repo_kind":"official","path":"abs_util.py","file_url":"https://github.com/uranium11010/lemma/blob/HEAD/abs_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e10feb9746bf36c1"}},{"code_sha256_prefix":"a3670b6ecc8de682","entry":"log","repo":"uranium11010/lemma","repo_kind":"official","path":"compress.py","file_url":"https://github.com/uranium11010/lemma/blob/HEAD/compress.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a3670b6ecc8de682"}},{"code_sha256_prefix":"c04834f139718d89","entry":"make_rule_trie","repo":"uranium11010/lemma","repo_kind":"official","path":"abs_util.py","file_url":"https://github.com/uranium11010/lemma/blob/HEAD/abs_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c04834f139718d89"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}