{"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/arxiv-2606-14892","title":"Relational Structural Causal Models","arxiv_id":"2606.14892","date":"2026-06-12","proceeding":"ICML","authors":["Adiba Ejaz","Elias Bareinboim"],"abstract":"An artificial intelligence must have a model of its environment that is causal, supporting reasoning about interventions and counterfactuals, and also combinatorial, supporting generalization to unseen combinations of objects. In this work, we formally study when and how such a model can be learned. We develop relational structural causal models, extending structural causal models (Pearl 2009) to settings where objects and their relations vary. First, we show how answers to not only causal but also observational queries about unseen combinations of objects can not be identified without further assumptions. To enable such identification--including in the presence of unobserved confounding--we define relational causal graphs and derive symbolic identification criteria. Finally, we propose relational neural causal models, a provably correct approach that outperforms non-relational baselines on simulated traffic scenes with varying cars, signals, and pedestrians.","url_abs":"https://arxiv.org/abs/2606.14892","url_pdf":"https://arxiv.org/pdf/2606.14892","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2606.14892","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.14892"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/CausalAILab/RelationalCausalModels","reach":null}],"summary":{"ran":10,"unverified":9},"by_repo_kind":{"found_in_text":{"samples":19,"ran":10,"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":19,"samples":[{"code_sha256_prefix":"939ddc776d91b25d","entry":"CTFTerm","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"939ddc776d91b25d"}},{"code_sha256_prefix":"e9d44abc2f9da368","entry":"GroundAttribute","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e9d44abc2f9da368"}},{"code_sha256_prefix":"69a3534e8d9a4fb9","entry":"GroundEntity","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"69a3534e8d9a4fb9"}},{"code_sha256_prefix":"991bc0cbb1f5f10d","entry":"GroundRelation","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"991bc0cbb1f5f10d"}},{"code_sha256_prefix":"ce5853a972d13b3c","entry":"RelationalInstance","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ce5853a972d13b3c"}},{"code_sha256_prefix":"f8137fae0c342028","entry":"RelationalSchema","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f8137fae0c342028"}},{"code_sha256_prefix":"5f1c149faae8e7af","entry":"RelationalSkeleton","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5f1c149faae8e7af"}},{"code_sha256_prefix":"990e1718e1842af4","entry":"TemplateAttr","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"990e1718e1842af4"}},{"code_sha256_prefix":"f03c15cabc74a95c","entry":"TemplateEntity","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f03c15cabc74a95c"}},{"code_sha256_prefix":"3f2e894d16cfa20c","entry":"TemplateRelation","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3f2e894d16cfa20c"}},{"code_sha256_prefix":"a7652c5cdbe68979","entry":"CTF","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7652c5cdbe68979"}},{"code_sha256_prefix":"96a0e19b5dcd8a3e","entry":"Distribution","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"96a0e19b5dcd8a3e"}},{"code_sha256_prefix":"921c1cbfb7221616","entry":"SCM","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"921c1cbfb7221616"}},{"code_sha256_prefix":"2129b7cc0a03385d","entry":"TemplateRSCM","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2129b7cc0a03385d"}},{"code_sha256_prefix":"865ef8cd65ed603c","entry":"TemplateRSF","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"865ef8cd65ed603c"}},{"code_sha256_prefix":"6104808ca0104544","entry":"check_equal","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6104808ca0104544"}},{"code_sha256_prefix":"3eb413bf692fc9ce","entry":"expand_do","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3eb413bf692fc9ce"}},{"code_sha256_prefix":"84bf74f02146b2d4","entry":"gen_ground_attributes","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"84bf74f02146b2d4"}},{"code_sha256_prefix":"d4ce1643876ab796","entry":"log","repo":"CausalAILab/RelationalCausalModels","repo_kind":"found_in_text","path":"NCMCounterfactuals/src/scm/rscm.py","file_url":"https://github.com/CausalAILab/RelationalCausalModels/blob/HEAD/NCMCounterfactuals/src/scm/rscm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d4ce1643876ab796"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}