{"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/inter-gps-interpretable-geometry-problem","title":"Inter-GPS: Interpretable Geometry Problem Solving with Formal Language and Symbolic Reasoning","arxiv_id":"2105.04165","date":"2021-05-10","proceeding":"ACL 2021 5","authors":["Pan Lu","Ran Gong","Shibiao Jiang","Liang Qiu","Siyuan Huang","Xiaodan Liang","Song-Chun Zhu"],"abstract":"Geometry problem solving has attracted much attention in the NLP community recently. The task is challenging as it requires abstract problem understanding and symbolic reasoning with axiomatic knowledge. However, current datasets are either small in scale or not publicly available. Thus, we construct a new large-scale benchmark, Geometry3K, consisting of 3,002 geometry problems with dense annotation in formal language. We further propose a novel geometry solving approach with formal language and symbolic reasoning, called Interpretable Geometry Problem Solver (Inter-GPS). Inter-GPS first parses the problem text and diagram into formal language automatically via rule-based text parsing and neural object detecting, respectively. Unlike implicit learning in existing methods, Inter-GPS incorporates theorem knowledge as conditional rules and performs symbolic reasoning step by step. Also, a theorem predictor is designed to infer the theorem application sequence fed to the symbolic solver for the more efficient and reasonable searching path. Extensive experiments on the Geometry3K and GEOS datasets demonstrate that Inter-GPS achieves significant improvements over existing methods. The project with code and data is available at https://lupantech.github.io/inter-gps.","url_abs":"https://arxiv.org/abs/2105.04165v3","url_pdf":"https://arxiv.org/pdf/2105.04165v3.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":"inter-gps-interpretable-geometry-problem","repo_url":"https://github.com/lupantech/InterGPS","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"arithmetic-reasoning","task_name":"Arithmetic Reasoning"},{"task_slug":"geometry-problem-solving","task_name":"Geometry Problem Solving"},{"task_slug":"mathematical-question-answering","task_name":"Mathematical Question Answering"},{"task_slug":"mathematical-reasoning","task_name":"Mathematical Reasoning"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"scene-parsing","task_name":"Scene Parsing"},{"task_slug":"semantic-parsing","task_name":"Semantic Parsing"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"},{"task_slug":"visual-reasoning","task_name":"Visual Reasoning"}],"methods":[],"datasets_introduced":[{"slug":"geometry3k","name":"Geometry3K","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/mathematical-question-answering-on-geos","task":"Mathematical Question Answering","dataset":"GeoS","model":"Inter-GPS","rank_in_archive_order":1,"of":2,"metrics":{"Accuracy (%)":"67"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-question-answering-on-geometry3k","task":"Mathematical Question Answering","dataset":"Geometry3K","model":"Human Expert","rank_in_archive_order":1,"of":8,"metrics":{"Accuracy (%)":"90.9"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-question-answering-on-geometry3k","task":"Mathematical Question Answering","dataset":"Geometry3K","model":"Inter-GPS (GT)","rank_in_archive_order":2,"of":8,"metrics":{"Accuracy (%)":"78.3"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-question-answering-on-geometry3k","task":"Mathematical Question Answering","dataset":"Geometry3K","model":"Inter-GPS","rank_in_archive_order":6,"of":8,"metrics":{"Accuracy (%)":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-question-answering-on-geometry3k","task":"Mathematical Question Answering","dataset":"Geometry3K","model":"Human","rank_in_archive_order":7,"of":8,"metrics":{"Accuracy (%)":"56.9"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-question-answering-on-geometry3k","task":"Mathematical Question Answering","dataset":"Geometry3K","model":"Random","rank_in_archive_order":8,"of":8,"metrics":{"Accuracy (%)":"25.0"},"uses_additional_data":false},{"leaderboard":"/sota/mathematical-reasoning-on-pgps9k","task":"Mathematical Reasoning","dataset":"PGPS9K","model":"Inter-GPS","rank_in_archive_order":4,"of":6,"metrics":{"Completion accuracy":"59.8"},"uses_additional_data":false},{"leaderboard":"/sota/scene-parsing-on-pgdp5k","task":"Scene Parsing","dataset":"PGDP5K","model":"Inter-GPS","rank_in_archive_order":2,"of":2,"metrics":{"Total Accuracy":"27.3"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.04165","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.04165"}},"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/lupantech/InterGPS","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":2,"ran":1,"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":"e491ec613e5fcd92","entry":"angle_area_formula","repo":"lupantech/InterGPS","repo_kind":"official","path":"symbolic_solver/logic_solver.py","file_url":"https://github.com/lupantech/InterGPS/blob/HEAD/symbolic_solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e491ec613e5fcd92"}},{"code_sha256_prefix":"41e8af3b077c529f","entry":"LogicSolver","repo":"lupantech/InterGPS","repo_kind":"official","path":"symbolic_solver/logic_solver.py","file_url":"https://github.com/lupantech/InterGPS/blob/HEAD/symbolic_solver/logic_solver.py","link_basis":"first_harvest_node","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":"41e8af3b077c529f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}