Reasoning Models Are Accurate but Unsound on Identification
Organizations: Department of Computer Science Illinois Institute of Technology Chicago, IL, USA
Abstract
A reasoning model asked whether a causal effect is recoverable from observational data can fail in two ways: it refuses an identifiable query or answers a nonidentifiable one. The latter is more consequential, as no observational data can validate the claimed formula. Measuring this failure requires queries that are provably non-identifiable, which prior evaluations lack, and grading that accepts correct formulas in any equivalent form, which string matching cannot provide. We build CERTID, a formal identification pipeline that addresses both limitations. CERTID uses the sound and complete causal identification algorithm ID to certify whether an effect is identifiable from a given graph and query, and verifies returned formulas against structural causal models whose interventional distributions are known exactly. CERTID further develops theoretical results to mitigate structural leakage, repair non-identifiable queries, and establish grading guarantees. We evaluate three frontier reasoning models (Gemini Flash, Gemini Pro, and GPT5.5) on 1,200 certified instances spanning 4 to 50 vertices. Accuracy proves a poor proxy for soundness: on identical instances, the false-claim rate on non-identifiable queries varies by seventeen-fold across models. We also find that models decide identifiability with 97-100% accuracy on graphs generated after the strongest model's training snapshot. Instances, the certification procedure, the verifier, and per-instance records are available at https://anonymous.4open.science/r/certid-D718.
Figures & tables
| Benchmark | Ground truth | Unanswerable instances | Grading |
|---|---|---|---|
| cladder ( Jin et al., 2023 ) | oracle-computed | — | string |
| noisycausal ( Xu and Fu, 2026 ) | SCM-computed | — | string |
| qrdata ( Liu et al., 2024 ) | data-computed | — | string |
| causalbench ( Wang, 2024 ) | annotated | — | string |
| econcausal ( Lee et al., 2026 ) | curated | underspecified | string |
| abstentionbench ( Kirichenko et al., 2026 ) | annotated | annotated | string |
| Model | Scored | Acc. | Id. rate | Ans. rate | False-claim rate |
|---|---|---|---|---|---|
| FLASH | 600/600 | 0.983 | 0.500 | 0.513 | 0.030 |
| PRO | 589/600 | 0.978 | 0.506 | 0.511 | 0.028 |
| GPT-5.5 | 600/600 | 0.998 | 0.500 | 0.498 | 0.000 |
| Accuracy | False-claim | ||||
| Model | Rand. fam. | Pub. fam. | Rand. fam. | Pub. fam. | |
| FLASH | 0.981 | 0.992 | 0.033 | 0.017 | |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Meaning | Introduced |
|---|---|---|
| graphs and models | ||
| acyclic directed mixed graph over | Sec. 2 | |
| observed variables of | Sec. 2 | |
| disjoint treatment and outcome sets | Sec. 2 | |
| bi-directed edges of | Sec. 2 | |
| ancestors of | Sec. 2 | |
| Feature | Definition | AUC |
|---|---|---|
| directed degree sum | 0.574 | |
| directed degree min | 0.534 | |
| directed degree max | 0.580 | |
| bi-directed degree sum | 0.442 | |
| bi-directed degree min | 0.410 | |
| bi-directed degree max | 0.480 |
| uniform injection | our construction | |
|---|---|---|
| common parents | 0.266 | 0.472 |
| directed degree min | 0.321 | 0.534 |
| bi-directed degree sum | 0.299 | 0.442 |
| bi-directed degree min | 0.258 | 0.410 |
| directed distance | 0.585 | 0.637 |
| pooled classifier | 0.825 | 0.652 |
| main pool | scale grid | |
|---|---|---|
| flash | 2,421 | 4,114 |
| pro | 8,070 | 17,144 |
| gpt-5.5 | 2,994 | 5,733 |
| Network | Domain | Source | Nodes | Edges |
|---|---|---|---|---|
| asia | lung-disease diagnosis | Lauritzen and Spiegelhalter [1988] | 8 | 8 |
| child | congenital heart disease | Spiegelhalter [1992] | 20 | 25 |
| insurance | car-insurance risk | Binder et al. [1997] | 27 | 52 |
| alarm | patient monitoring | Beinlich et al. [1989] | 37 | 46 |
| hepar2 | liver-disorder diagnosis | Onisko [2003] | 70 | 123 |
| total | verdict line | estimand block | whole-text scan | ||
| false claims | |||||
| flash | main | 9 | 9 | 0 | 0 |
| flash | scale | 51 | 51 | 0 | 0 |
| pro | main | 8 | 4 | 2 | 2 |
| pro | scale | 22 | 16 | 6 | 0 |
| gpt-5.5 | main | 0 | 0 | 0 | 0 |
| pro | as shipped | truncated excluded |
|---|---|---|
| main-pool accuracy | 0.9779 (589 scored) | 0.9811 (583 scored) |
| main-pool false claims | 8/291 = 0.0275 | 6/287 = 0.0209 |
| scale-grid accuracy | 0.9415 | 0.9430 |
| scale-grid false claims | 22/298 = 0.0738 | 21/297 = 0.0707 |
| false claims at | 6/49 = 0.1224 | 5/48 = 0.1042 |
| Scorer | published | scrambled | novel domains |
|---|---|---|---|
| Random | 0.4953 | 0.4953 | 0.5342 |
| Embedding similarity | 0.5047 | 0.4115 | 0.5590 |
| Structural (no names) | 0.8210 | 0.8210 | 0.7487 |
| 0.5B | 0.4405 | 0.4770 | 0.4529 |
| 1.5B | 0.3586 | 0.4929 | 0.5363 |
| 3B | 0.5181 | 0.4427 | 0.5100 |
| flash | pro | gpt-5.5 | ||||
|---|---|---|---|---|---|---|
| Acc. | False-claim | Acc. | False-claim | Acc. | False-claim | |
| 10 | 0.940 | 0.12 | 0.960 | 0.02 | 1.000 | 0.00 |
| 15 | 0.960 | 0.06 | 0.960 | 0.04 | 1.000 | 0.00 |
| 20 | 0.890 | 0.20 | 0.960 | 0.06 | 0.990 | 0.02 |
| 30 | 0.840 | 0.28 | 0.940 | 0.10 | 1.000 | 0.00 |
| 40 | 0.920 | 0.16 | 0.919 | 0.10 | 1.000 | 0.00 |
| Model | Condition | Budget | Parse err. | Validity | Min. valid | Exact | Recall |
|---|---|---|---|---|---|---|---|
| flash | one-shot | 8,192 | 0.007 | 0.9295 | 0.9675 | 0.8993 | — |
| flash | asked-for-all | 32,768 | 0.003 | 0.9264 | 0.9928 | 0.9197 | 0.9066 |
| flash | oracle | 8,192 | 0.053 | 1.0000 | 1.0000 | 1.0000 | — |
| pro | one-shot | 32,768 | 0.010 | 0.9697 | 0.9826 | 0.9529 | — |
| pro | asked-for-all | 32,768 | 0.030 | 0.9485 | 0.9746 | 0.9244 | 0.8704 |
| pro | oracle | 8,192 | 0.380 | excluded: parse failure on 38% of instances | |||
| Valid | Min. valid | Oracle valid | Oracle min. | coverage | mean | |
|---|---|---|---|---|---|---|
| 10 | 0.880 | 0.9545 | 1.000 | 1.000 | 1.00 | 3.28 |
| 15 | 0.860 | 0.9535 | 1.000 | 1.000 | 1.00 | 3.73 |
| 20 | 0.860 | 0.8837 | 1.000 | 1.000 | 0.88 | 2.30 |
| 30 | 0.880 | 0.7500 | 1.000 | 1.000 | 0.10 | 1.40 |
| 40 | 0.920 | 0.8696 | 1.000 | 1.000 | 0.02 | 1.00 |
| 50 | 0.980 | 0.8163 | 1.000 | 1.000 | 0.00 | — |
| truth | library | difference | ||||
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0.068800 | 0.066377 | |
| 0 | 0 | 0 | 1 | 0.087453 | 0.089876 | |
| 0 | 0 | 1 | 0 | 0.073608 | 0.066449 | |
| 0 | 0 | 1 | 1 | 0.083090 | 0.090249 | |
| 0 | 1 | 0 | 0 | 0.028730 | 0.028270 | |
| 0 | 1 | 0 | 1 | 0.039616 | 0.040076 |