Latent Coherence: Do Frontier Language Models' Probability Judgments Obey the Law of Total Probability?
Abstract
LawZero's Scientist AI trains a Predictor toward the Bayesian posterior, with an objective that penalizes inconsistent probabilities among latent explanations. We ask whether current frontier language models, with no such training, are already consistent in this sense zero-shot: do their probability judgments satisfy the law of total probability, , when the latent must be inferred from records in the context? In separate single-turn calls, models are asked for , for over the latent's states, and for ; a causal family applies the same test to and the back-door adjustment. Every query has an exact ground-truth probability, and a subset of items is asked in three wordings to separate persistent incoherence from rewording noise. Across seven models, GPT-6.1 Sol and Claude Opus 5.5 are the most coherent (mean absolute residual 0.08 and 0.12 log-odds, about 2 percentage points). Claude Haiku 5.5, Gemini 3.8 Flash and DeepSeek V4-Pro show persistent incoherence (0.27-0.35 log-odds) that is mostly item-specific rather than a shared offset. Within every model, larger residuals go with larger errors against the truth (Spearman 0.40-0.62), so the residual, which needs no ground truth, flags unreliable answers. Reasoning length does not predict coherence, across models or within a model across rewordings of the same question. Simple consistency checks pass almost everywhere; the failures are specific to reasoning through a latent variable. Code and data: https://github.com/ppotash/latent-coherence
Figures & tables
| Family | Records in context | Latent |
|---|---|---|
| source | Reports on a claim from 1–3 sources, each with a track record of checked past reports | Whether one source is careful or careless |
| diagnostic | A fault-diagnosis inspection log, with symptom rates for each of three causes | Which of three causes is present |
| causal | A count table over confounder , treatment and outcome | The confounder (e.g. which production line a battery came from), adjusted for by the back-door formula ( 3 ) |
| hover | A fictionalized HoVer claim split into sub-claims, with reports of the sub-claims from sources of varying reliability | Truth of the bridge sub-claim; a source’s kind |
| Model | Effort | Mean residual | Persistent | Noise | Spread | Dir. | Err. vs truth | Tok./ans. | Cost |
|---|---|---|---|---|---|---|---|---|---|
| GPT-6.1 Sol | med. | 0.08 [0.06, 0.11] | 0.08 ∗ [0.02, 0.13] | 0.16 | 0.08 | 0.34 | 400 | $4 | |
| Claude Opus 5.5 | med. | 0.12 [0.07, 0.17] | 0.00 [0.00, 0.14] | 0.34 | 0.00 | 0.38 | 500 | $18 | |
| DeepSeek V4-Pro | high | 0.15 [0.10, 0.21] | 0.27 ∗ [0.10, 0.40] | 0.30 | 0.26 | 0.37 | 16,900 | $53 | |
| Grok 4.7 | low | 0.21 [0.15, 0.27] | 0.21 [0.00, 0.32] | 0.51 | 0.20 | 0.47 | 7,200 | $70 | |
| Gemini 3.8 Flash | med. | 0.26 [0.19, 0.34] | 0.28 ∗ [0.10, 0.40] | 0.50 | 0.26 | 0.73 | 4,400 | $15 | |
| GLM 5.3 | high | 0.26 [0.20, 0.33] | 0.11 [0.00, 0.25] | 0.53 | 0.09 | 0.41 | 6,700 | $54 |
| Residual vs error against truth | Residual vs reasoning tokens | ||||
|---|---|---|---|---|---|
| Model | Spearman [CI] | Err. if | Err. if ( ) | Across items [CI] | Within item corr. [CI] |
| GPT-6.1 Sol | 0.62 [0.45, 0.76] | 0.25 | 0.56 (2) | [ , ] | [ , 0.12] |
| Claude Opus 5.5 | 0.50 [0.33, 0.64] | 0.24 | 0.65 (4) | [ , 0.13] | [ , 0.16] |
| DeepSeek V4-Pro | 0.53 [0.36, 0.66] | 0.29 | 0.75 (16) | [0.00, 0.33] | [ , 0.08] |
| Grok 4.7 | 0.57 [0.40, 0.70] | 0.24 | 1.15 (20) | [ , 0.20] | [ , 0.28] |
| Gemini 3.8 Flash | 0.49 [0.30, 0.66] | 0.41 | 1.68 (25) | [ , 0.07] | [ , 0.27] |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Provider | Effort (levels offered) | Mode | Prompts | Reasoning tok./ans. | Cost (USD) |
|---|---|---|---|---|---|---|
| Claude Haiku 5.5 | Anthropic | medium | batch | 1,890 | 1,117 | 0.62 |
| Claude Opus 5.5 | Anthropic | medium | batch | 1,590 | 499 | 17.61 |
| GPT-6.1 Sol | OpenAI | medium | batch | 1,590 | 400 | 3.96 |
| Gemini 3.8 Flash | medium | batch | 1,590 | 4,409 | 14.52 | |
| Grok 4.7 | xAI | low (low/med./high/xhigh) | sync | 1,590 | 7,236 | 70.44 |
| GLM 5.3 | Z.ai | high (low/high/max) | sync | 1,590 | 6,733 | 53.57 |
| Group ( identity instances) | Haiku | Opus | DeepSeek | Gemini | GLM | GPT | Grok |
|---|---|---|---|---|---|---|---|
| diagnostic / full (5) | 0.002 | 0.006 | 0.000 | 0.000 | 0.002 | 0.000 | 0.002 |
| source / full (5) | 0.020 | 0.045 | 0.001 | 0.013 | 0.043 | 0.000 | 0.055 |
| diagnostic / qualitative (20) | 0.110 | 0.055 | 0.094 | 0.075 | 0.275 | 0.044 | 0.086 |
| source / qualitative (20) | 0.382 | 0.176 | 0.078 | 0.261 | 0.336 | 0.152 | 0.224 |
| hover / full (40) | 0.376 | 0.046 | 0.186 | 0.169 | 0.109 | 0.012 | 0.234 |
| hover / qualitative (40) | 0.798 | 0.230 | 0.307 | 0.641 | 0.438 | 0.164 | 0.368 |
| Full spec (32 instances) | Qualitative (51 instances) | |||
|---|---|---|---|---|
| Model | Noise | Persistent | Noise | Persistent |
| Claude Haiku 5.5 | 0.37 | 0.34 [0.00, 0.57] | 0.77 | 0.35 [0.00, 0.52] |
| Claude Opus 5.5 | 0.07 | 0.03 [0.00, 0.06] | 0.43 | 0.00 [0.00, 0.17] |
| DeepSeek V4-Pro | 0.28 | 0.36 ∗ [0.04, 0.57] | 0.31 | 0.19 [0.00, 0.31] |
| Gemini 3.8 Flash | 0.40 | 0.09 [0.00, 0.20] | 0.56 | 0.35 ∗ [0.11, 0.51] |
| GLM 5.3 | 0.45 | 0.00 [0.00, 0.00] | 0.57 | 0.18 [0.00, 0.33] |
| Coherent ( ) | Incoherent ( ) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | closer | ||||||||||
| Claude Haiku 5.5 | 53 | 0.36 | 0.32 | 0.34 | 0.34 | 32 | 1.06 | 1.04 | 0.89 | 1.41 | 28% |
| Claude Opus 5.5 | 91 | 0.35 | 0.29 | 0.24 | 0.25 | 4 | 1.61 | 0.51 | 0.65 | 1.19 | 25% |
| DeepSeek V4-Pro | 91 | 0.32 | 0.32 | 0.29 | 0.30 | 16 | 1.06 | 0.63 | 0.75 | 1.09 | 38% |
| Gemini 3.8 Flash | 63 | 0.37 | 0.33 | 0.41 | 0.42 | 25 | 0.88 | 0.90 | 1.68 | 1.25 | 64% |
| GLM 5.3 | 59 | 0.25 | 0.21 | 0.21 | 0.23 | 26 | 0.76 | 0.55 | 0.85 | 0.86 | 50% |
| Model | Err. direct | Err. decomposition | Decomp. closer | Normalization (median , all checks) |
|---|---|---|---|---|
| Claude Haiku 5.5 | 0.50 | 0.64 | 44% | 0.010 |
| Claude Opus 5.5 | 0.38 | 0.42 | 43% | 0.003 |
| DeepSeek V4-Pro | 0.37 | 0.44 | 40% | 0.000 |
| Gemini 3.8 Flash | 0.73 | 0.66 | 49% | 0.010 |
| GLM 5.3 | 0.41 | 0.44 | 39% | 0.020 |
| GPT-6.1 Sol | 0.34 | 0.33 | 47% | 0.000 |
| A | B | A | B | ||||
|---|---|---|---|---|---|---|---|
| Haiku | Opus | 0.256 | 0.001 | DeepSeek | Gemini | 0.108 | 0.303 |
| Haiku | DeepSeek | 0.224 | 0.001 | DeepSeek | GLM | 0.112 | 0.168 |
| Haiku | Gemini | 0.116 | 0.541 | DeepSeek | GPT | 0.065 | 0.639 |
| Haiku | GLM | 0.112 | 0.819 | DeepSeek | Grok | 0.058 | 1.000 |
| Haiku | GPT | 0.289 | 0.001 | Gemini | GLM | 0.004 | 1.000 |
| Haiku | Grok | 0.166 | 0.028 | Gemini | GPT | 0.173 | 0.001 |
| Answers (%) | Mean , clip at | (pp) | Latent states | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Model | clipped | exactly 0/1 | 0.001 | 0.01 | 0.05 | mean | median | renorm. | med. |
| GPT-6.1 Sol | 7.4 | 5.7 | 0.084 | 0.083 | 0.083 | 1.5 | 0.3 | 0.071 | 0.000 |
| Claude Opus 5.5 | 7.9 | 2.5 | 0.123 | 0.115 | 0.110 | 1.9 | 0.5 | 0.085 | 0.003 |
| DeepSeek V4-Pro | 8.2 | 5.8 | 0.162 | 0.148 | 0.125 | 2.1 | 0.3 | 0.143 | 0.000 |
| Grok 4.7 | 7.7 | 6.1 | 0.209 | 0.206 | 0.192 | 3.0 | 1.4 | 0.188 | 0.001 |
| Gemini 3.8 Flash | 9.6 | 7.1 | 0.371 | 0.255 | 0.206 | 3.5 | 1.6 | 0.251 | 0.012 |
Reasoning Consistency in Language Models
Reasoning consistency in language models measures whether conclusions and reasoning remain reliable across equivalent prompts, samples, steps, and contexts.
See all 123 papers