Recognition-Refusal Misalignment in LLMs: Why Models Answer Structurally Unanswerable Questions
Organizations: University of Southern California · Arizona State University
Abstract
Large language models often answer structurally unanswerable questions, such as computing cot(-540°) or evaluating (1).startswith("1"), instead of abstaining. We ask whether this failure reflects missing recognition or failed routing from recognition to abstention. Across instruction-tuned models from 1.7B to 70B parameters, a single linear direction in the hidden state separates answerable from structurally impossible math and code prompts, showing that models represent impossibility before generation. Yet this recognition direction is nearly orthogonal to the canonical safety-refusal direction that mediates trained harmful-content refusal. An in-domain behavior-defined invalidity-aware direction is closer to recognition, but only partially aligned with it, and remains near-orthogonal to safety refusal. Generation-time steering along the recognition direction changes invalidity-aware behavior bidirectionally and dose-responsively on structural math and code cells, while random directions do not. Base/instruct comparisons further show that the low-cosine geometry is already present at the pretraining endpoint. The confident-on-impossible failure is therefore better explained as a routing failure than as an encoding failure: the model has a usable "no admissible answer" signal, but the safety-refusal pathway is not aligned to use it.
Figures & tables
| # | Claim | Evidence | Tier |
|---|---|---|---|
| 1 | Recognition exists | 22-cell probe grid; HO-AU, 5-seed averages | headline |
| 2 | Recognition is near-orthogonal to safety refusal | 22-cell geometry, same-space control, and energy decomposition | headline |
| 3 | Recognition is partially aligned with behavior-defined invalidity awareness | Eight structural cells: six-cell primary summary plus two Qwen3-8B candidate-label cells | supporting |
| 4 | Causal control of invalidity-aware behavior | Four-anchor v2 grid with LLM-assisted labels; Qwen3-8B candidate-only cells marked | headline for structural math/code; Mistral-7B is the bidirectional keystone |
| 5 | Breadth across 16 models | 48-cell deterministic sweep | supporting only |
| 6 | Geometry largely predates instruction tuning | Six math800 base/instruct pairs: five fully verified plus one proxy-base contrast | headline |
| Subspace (MeanDiff cosine) | Mean AUC | Null this |
|---|---|---|
| A-null ( ) | 0.939 | — |
| Full residual stream | 0.907 | 19/22 |
| Top- A-PC | 0.890 | 21/22 |
| Direction pair | range | cells | |
|---|---|---|---|
| 0.087 | 22 main | ||
| 0.40 | 6 primary | ||
| 0.08 | — | 6 primary |
| Ruled out | Key evidence (per-cell detail in App. M ) |
|---|---|
| Length | Length-matched GSM8K (length-only AUC 0.500): CosNSRT 0.799 |
| Difficulty | Hard-vs-easy 0.61 vs. impossibility 0.96 ( ) |
| Category | NS_SNR–AUC Spearman 0.730 (18/22 cells ) |
| Scale | AUC 0.841–0.993; 24B 0.065 [0.059, 0.071]; 32B/70B 0.098 |
| Generic axis | Within cross drop 0.080; dot-product NSRT transfer 0.64–0.98 (GSM8K), 0.59–0.90 (FalseQA) |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Code | Unanswerability type | Example U prompt |
|---|---|---|---|
| div_zero | mdiv | Division by zero | |
| mod_zero | mmod | Modulo by zero | |
| sqrt_negative_real | msqrt | for in | in the reals |
| even_root_negative | meven | Even root of negative in | in the reals |
| neg_base_frac_exp | mneg | Negative base with fractional exponent in | in |
| log_base_zero_or_neg | mlog | Log with invalid base | , |
| Category | Code | Error type | Example U |
|---|---|---|---|
| zero_division | czero | ZeroDivisionError | 1 / 0 |
| type_error | ctype | TypeError | ’hello’ + 5 |
| value_error | cvalu | ValueError | int(’abc’) |
| index_key_error | cinde | Index / KeyError | [1,2,3][10] |
| attribute_error | cattr | AttributeError | (5).append(1) |
| name_error | cname | NameError | undef + 1 |
| MeanDiff AUC | SVM AUC | ||||||
| Model | Dataset | Null | PC | Full | Null | PC | Full |
| Mistral-7B | math800 | 0.907 | 0.851 | 0.872 | 0.982 | 0.951 | 0.990 |
| Mistral-7B | code800 | 0.888 | 0.880 | 0.887 | 0.944 | 0.932 | 0.955 |
| Qwen-14B | math800 | 0.987 | 0.971 | 0.974 | 0.996 | 0.986 | 0.996 |
| Qwen-14B | code800 | 0.962 | 0.980 | 0.982 | 0.990 | 0.976 | 0.991 |
| Mean | 0.936 | 0.921 | 0.929 | 0.978 | 0.961 | 0.983 | |
| Model | math800 peak L (AUC) | code800 peak L (AUC) |
|---|---|---|
| Mistral-7B | L16 (0.932) | L15/16 (0.923) |
| Llama-3.1-8B | L13/17 (0.956) | L14 (0.938) |
| Qwen-7B | L17/19 (0.963) | L18 (0.931) |
| math800 | SmolLM2 | Gemma2 | Phi3 | Mistral-7B | Qwen-7B | Llama-8B | Qwen-14B | Mistral-Sm. |
|---|---|---|---|---|---|---|---|---|
| mdiv | 0.994 | 1.000 | 0.995 | 0.997 | 0.970 | 0.994 | 0.999 | 0.986 |
| mdive | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
| meven | 0.997 | 0.999 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
| mfact | 0.849 | 0.987 | 0.997 | 0.957 | 1.000 | 0.990 | 1.000 | 1.000 |
| mgcd | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
| minv | 0.746 | 0.879 | 0.970 | 0.758 | 0.963 | 0.893 | 0.990 | 0.929 |
| code800 | SmolLM2 | Gemma2 | Phi3 | Mistral-7B | Qwen-7B | Llama-8B | Qwen-14B | Mistral-Sm. |
|---|---|---|---|---|---|---|---|---|
| cattr | 0.799 | 0.625 | 0.777 | 0.670 | 0.864 | 0.761 | 0.892 | 0.799 |
| cinde | 0.584 | 0.714 | 0.828 | 0.840 | 0.897 | 0.861 | 0.978 | 0.924 |
| cinfi | 0.981 | 0.990 | 0.993 | 0.988 | 0.995 | 0.969 | 0.960 | 0.995 |
| cmath | 0.825 | 0.935 | 0.974 | 0.925 | 0.951 | 0.980 | 1.000 | 0.995 |
| cname | 0.996 | 0.991 | 1.000 | 0.989 | 0.993 | 0.990 | 0.995 | 0.966 |
| ctype | 0.853 | 0.837 | 0.893 | 0.872 | 0.908 | 0.843 | 0.958 | 0.951 |
| at best | at max- | |||||||
| Model | Dataset | L | best | max | ||||
| SmolLM2 | math800 | 11 | 5 | 0 | ||||
| Gemma2 | math800 | 16 | 20 | 20 | ||||
| Phi3 | math800 | 15 | 5 | 30 | ||||
| Mistral-7B | math800 | 15 | 5 | 10 | ||||
| Qwen-7B | math800 | 18 | 5 | 20 | ||||
| Model | Dataset | Rows | Flip | No flip | FP |
|---|---|---|---|---|---|
| Mistral-7B | math800 | 500 | 150 | 350 | 0 |
| Mistral-7B | code800 | 500 | 64 | 435 | 1 |
| Mistral-7B | fact800 | 500 | 19 | 481 | 0 |
| Qwen-7B | math800 | 500 | 101 | 399 | 0 |
| Qwen-7B | code800 | 500 | 31 | 469 | 0 |
| Qwen-7B | fact800 | 500 | 60 | 440 | 0 |
| # | Hypothesis | Signal family | math50 | math800 | Failure mode |
|---|---|---|---|---|---|
| 1 | Layer-wise but mismatch | Attention entropy own-distance | 0.56–0.65 | 0.51–0.57 | Chance |
| 2 | Per-token attention–gradient divergence | Attention gradient | 0.615 | — | Chance |
| 3 | Representation trajectory growth (deep shallow ) | Own-distance | — | 0.54–0.55 | Chance |
| 4 | Cross-head attention split degree | Attention pattern | — | — | Direction reversed (Qwen) |
| 5 | Output logit entropy vs. mismatch | Logit entropy | — | — | Direction inverted |
| 6 | Inter-head attention variance | Attention pattern | — | — | Chance |
| Model | Dataset | PC-PC | null-null | ||
|---|---|---|---|---|---|
| SmolLM2-1.7B | math800 | 0.698 | 0.302 | ||
| SmolLM2-1.7B | code800 | 0.877 | 0.123 | ||
| Phi-4-mini-3.8B | math800 | 0.801 | 0.199 | ||
| Phi-4-mini-3.8B | code800 | 0.744 | 0.256 | ||
| Gemma-3-4B | math800 | 0.935 | 0.065 | ||
| Gemma-3-4B | code800 | 0.983 | 0.017 |
| Model (base) | Dataset | PC-PC | null-null | ||
|---|---|---|---|---|---|
| Mistral-7B | math800 | 0.844 | 0.156 | ||
| Mistral-7B | code800 | 0.862 | 0.138 | ||
| Llama-8B | math800 | 0.849 | 0.151 | ||
| Llama-8B | code800 | 0.809 | 0.191 | ||
| Qwen-7B | math800 | 0.812 | 0.188 | ||
| Qwen-7B | code800 | 0.971 | 0.029 |
| Model | Dataset | ||||
|---|---|---|---|---|---|
| Mistral-7B | math800 | ||||
| Mistral-7B | code800 | ||||
| Gemma-3-4B | math800 | ||||
| Gemma-3-4B | code800 | ||||
| Qwen3-14B | math800 | ||||
| Qwen3-14B | code800 |
| Model | Dataset | ||||
|---|---|---|---|---|---|
| Mistral-7B | math800 | ||||
| Mistral-7B | code800 | ||||
| Gemma-3-4B | math800 | ||||
| Gemma-3-4B | code800 | ||||
| Qwen3-14B | math800 | ||||
| Qwen3-14B | code800 |
| Model | Dataset | min. U A | min. A U | |
|---|---|---|---|---|
| Mistral-7B | math800 | 0.464 | 10 | 20 |
| Mistral-7B | code800 | 0.163 | 20 | 40 |
| Gemma-3-4B | math800 | 0.486 | 10 | |
| Gemma-3-4B | code800 | 0.487 | 10 | 20 |
| Qwen3-14B | math800 | 0.214 | ||
| Qwen3-14B | code800 | 0.595 | 5 | 20 |
| Anchor / dataset / layer | dir. | gateN | sig% | rnd% | note | |
|---|---|---|---|---|---|---|
| mistral / fact800 / L17 | U A | 5 | 0 | N/A | N/A | empty gate |
| mistral / fact800 / L17 | U A | 10 | 0 | N/A | N/A | empty gate |
| mistral / fact800 / L17 | U A | 20 | 0 | N/A | N/A | empty gate |
| mistral / fact800 / L17 | U A | 40 | 0 | N/A | N/A | empty gate (deg. 30/44) |
| gemma3_4b / fact800 / L16 | U A | 5 | 1 | 0 | 0 | single-row gate |
| gemma3_4b / fact800 / L16 | U A | 10 | 1 | 100 | 0 | misleading n=1 |
| Model | Dataset | / | label | [95% CI] | [95% CI] | LOO | expl. | ||
|---|---|---|---|---|---|---|---|---|---|
| Mistral-7B | math800 | 15 | 29/21 | pass-2 | 0.80 | — | |||
| Mistral-7B | code800 | 15 | 27/23 | pass-2 | 0.66 | yes | |||
| Gemma-3-4B | math800 | 16 | 21/29 | pass-2 | 0.84 | — | |||
| Gemma-3-4B | code800 | 15 | 15/34 | pass-2 | 0.91 | — | |||
| Qwen3-14B | math800 | 25 | 28/20 | pass-2 | 0.84 | — | |||
| Qwen3-14B | code800 | 24 | 23/25 | pass-2 | 0.91 | — |
| Model | Dataset | [95% CI] | [95% CI] | LOO | expl. | |
|---|---|---|---|---|---|---|
| Mistral-7B | math800 | 0.82 | — | |||
| Mistral-7B | code800 | 0.62 | yes | |||
| Gemma-3-4B | math800 | 0.73 | — | |||
| Gemma-3-4B | code800 | 0.78 | — | |||
| Qwen3-14B | math800 | 0.86 | — | |||
| Qwen3-14B | code800 | 0.87 | — |
| Base checkpoint | matched | AUC |
|---|---|---|
| Qwen2.5-7B-Base | 18 | 0.944 |
| Qwen2.5-14B-Base | 34 | 0.982 |
| Qwen2.5-32B-Base | 53 | 0.985 |
| Qwen3-8B-Base | 21 | 0.983 |
| Qwen3-14B-Base | 25 | 0.989 |
| Llama-3.1-70B-Base | 31 | 0.982 |
| Model | Dataset | first-comp. AUC | full (%) | A-null (%) | min. angle (deg.) | random first | |
|---|---|---|---|---|---|---|---|
| Mistral-7B | math800 | 0.740 | |||||
| Mistral-7B | code800 | 0.816 | |||||
| Qwen3-14B | math800 | 0.833 | |||||
| Qwen3-14B | code800 | 0.929 |
LLM Abstention
Large language model abstention studies when AI systems should answer, ask for more information, defer, or withhold unsupported claims.
See all 93 papers