{"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/the-coverage-principle-a-framework-for","title":"The Coverage Principle: A Framework for Understanding Compositional Generalization","arxiv_id":"2505.20278","date":"2025-05-26","proceeding":null,"authors":["Hoyeon Chang","Jinho Park","Hanseul Cho","Sohee Yang","Miyoung Ko","Hyeonbin Hwang","Seungpil Won","Dohaeng Lee","Youbin Ahn","Minjoon Seo"],"abstract":"Large language models excel at pattern matching, yet often fall short in systematic compositional generalization. We propose the coverage principle: a data-centric framework showing that models relying primarily on pattern matching for compositional tasks cannot reliably generalize beyond substituting fragments that yield identical results when used in the same contexts. We demonstrate that this framework has a strong predictive power for the generalization capabilities of Transformers. First, we derive and empirically confirm that the training data required for two-hop generalization grows at least quadratically with the token set size, and the training data efficiency does not improve with 20x parameter scaling. Second, for compositional tasks with path ambiguity where one variable affects the output through multiple computational paths, we show that Transformers learn context-dependent state representations that undermine both performance and interoperability. Third, Chain-of-Thought supervision improves training data efficiency for multi-hop tasks but still struggles with path ambiguity. Finally, we outline a \\emph{mechanism-based} taxonomy that distinguishes three ways neural networks can generalize: structure-based (bounded by coverage), property-based (leveraging algebraic invariances), and shared-operator (through function reuse). This conceptual lens contextualizes our results and highlights where new architectural ideas are needed to achieve systematic compositionally. Overall, the coverage principle provides a unified lens for understanding compositional reasoning, and underscores the need for fundamental architectural or training innovations to achieve truly systematic compositionality.","url_abs":"https://arxiv.org/abs/2505.20278v1","url_pdf":"https://arxiv.org/pdf/2505.20278v1.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":"the-coverage-principle-a-framework-for","repo_url":"https://github.com/kaistai/coverage-principle","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.20278","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.20278"}},"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/kaistai/coverage-principle","reach":null}],"summary":{"ran_violates":1,"ran_draft_wrong":4,"ran_honours":1},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":"78a0bfd869f5f0b9","entry":"extract_subsequence","repo":"kaistai/coverage-principle","repo_kind":"official","path":"determine_coverage.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/determine_coverage.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"78a0bfd869f5f0b9"}},{"code_sha256_prefix":"b437417ce9273576","entry":"group_data_by_b","repo":"kaistai/coverage-principle","repo_kind":"official","path":"circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b437417ce9273576"}},{"code_sha256_prefix":"a754400051247409","entry":"load_atomic_facts_2hop","repo":"kaistai/coverage-principle","repo_kind":"official","path":"circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a754400051247409"}},{"code_sha256_prefix":"e1a4aac5b8c240ec","entry":"parse_input_tokens","repo":"kaistai/coverage-principle","repo_kind":"official","path":"determine_coverage.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/determine_coverage.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1a4aac5b8c240ec"}},{"code_sha256_prefix":"8493dc06062d6f19","entry":"parse_tokens","repo":"kaistai/coverage-principle","repo_kind":"official","path":"circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/circuit_analysis/hierarchical/2-hop/collapse_analysis_2-hop.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8493dc06062d6f19"}},{"code_sha256_prefix":"f57f77a1a37531dc","entry":"powerset","repo":"kaistai/coverage-principle","repo_kind":"official","path":"determine_coverage.py","file_url":"https://github.com/kaistai/coverage-principle/blob/HEAD/determine_coverage.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f57f77a1a37531dc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}