FACT-E: Causality-Inspired Evaluation for Trustworthy Chain-of-Thought Reasoning
Organizations: Hong Kong Baptist University · The University of Melbourne · Singapore Management University
Abstract
Chain-of-Thought (CoT) prompting has improved LLM reasoning, but models often generate explanations that appear coherent while containing unfaithful intermediate steps. Existing self-evaluation approaches are prone to inherent biases: the model may confidently endorse coherence even when the step-to-step implication is not valid, leading to unreliable faithfulness evaluation. We propose FACT-E, a causality-inspired framework for evaluating CoT quality. FACT-E uses controlled perturbations as an instrumental signal to separate genuine step-to-step dependence from bias-driven artifacts, producing more reliable faithfulness estimates (intra-chain faithfulness). To select trustworthy trajectories, FACT-E jointly considers intra-chain faithfulness and CoT-to-answer consistency, ensuring that selected chains are both faithful internally and supportive of the correct final answer. Experiments on GSM8K, MATH, and CommonsenseQA show that FACT-E improves reasoning-trajectory selection and yields stronger in-context learning exemplars. FACT-E also reliably detects flawed reasoning under noisy conditions, providing a robust metric for trustworthy LLM reasoning.
Figures & tables
| Question | Suppose in the right triangle (where and ). What is the length of ? |
| We are given that and need to find the length of . In right triangle , is opposite to angle , and is the hypotenuse. Thus, , so . By the Pythagorean theorem, , hence . | |
| We are given that and need to find the length of . In right triangle , is opposite to angle , and is the hypotenuse. Thus, , so . |
| Gpt-4o-mini | DeepSeek-V3 | |||||
| Method | Math-500 | CommonsenseQA | GSM-8K | Math-500 | CommonsenseQA | GSM-8K |
| CoT | 78.69 (-4.253%) | 83.00 (+0.029%) | 92.40 (-0.154%) | 85.52 (-4.587%) | 83.80 (-1.671%) | 96.00 (-0.243%) |
| Denoise | 83.06 (+0.117%) | 83.30 (+0.329%) | 92.20 (-0.354%) | 84.70 (-5.407%) | 84.60 (-0.871%) | 95.40 (-0.843%) |
| Polish | 83.33 (+0.387%) | 80.00 (-2.971%) | 92.60 (+0.046%) | 94.80 (+4.693%) | 85.20 (-0.271%) | 95.60 (-0.643%) |
| Refelect | 80.60 (-2.343%) | 83.20 (+0.229%) | 92.10 (-0.454%) | 87.43 (-2.677%) | 85.80 (+0.329%) | 95.80 (-0.443%) |
| Consistency | 82.79 (-0.153%) | 82.10 (-0.871%) | 92.80 (+0.246%) | 93.17 (+3.063%) | 85.00 (-0.471%) | 96.40 (+0.157%) |
| # | Answer | CoT (Chain of Thought) | Score |
| Question: Suppose in the diagram below. What is ? [asy] pair D,E,F; F = (0,0); D = (sqrt(51),7); E = (0,7); draw(D–E–F–D); draw(rightanglemark(D,E,F,15)); label(" ",D,NE); label(" ",E,NW); label(" ",F,SW); label(" ",(E+F)/2,W); [/asy] | |||
| 1 | ✓ | We are given that and we need to find the length of . In the right triangle , we know that is the vertical side and has a length of . The sine of angle is defined as the ratio of the length of the opposite side to the hypotenuse. Therefore, we can express this relationship as: . Substituting the known values, we have: To find , we can rearrange the equation: . Calculating this gives: Now, we can use the Pythagorean theorem to find . In triangle : Substituting the known values: This simplifies to: Now, isolating : Taking the square root gives: Thus, the length of is . | 0.998 |
| 2 | ✗ | We are given that and we need to find the length of . In the right triangle , we know that is the opposite side to angle and is the hypotenuse. The sine function is defined as the ratio of the length of the opposite side to the hypotenuse. Therefore, we can express this relationship as: From the diagram, we see that . Substituting the known values into the sine equation gives us: To find , we can rearrange this equation: Calculating this gives: Thus, the length of is . | 0 |
| Question: What is ? | |||
| 1 | ✓ | To solve the expression , we need to understand the properties of exponents. The base of the exponent is 1. According to the rules of exponents, any number raised to any power is equal to 1, as long as the base is 1. Therefore, regardless of the value of the exponent, raised to any power will always equal . | 0.999 |
| 2 | ✓ | The expression involves raising 1 to the power of . The key property of exponentiation to note here is that any number raised to the power of 0 is 1 , and any number raised to any power (including very large numbers) is still 1 if the base is 1. Therefore, regardless of the exponent, since the base is 1, the result will always be 1. | 0.596 |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | # LLM inference requests |
| Polish | 7 |
| Consistency | 3 |
| Reflect | 6 |
| Denoise | 7 |
| FACT-E | 7 |
| FACT-E |
| Noise Type | Description (MATH Task) | Description (Commonsense) |
| Operation Error | Modification of a specific mathematical operation or procedural step. | Modification of a specific logical step or operative element within the reasoning. |
| Conceptual Swap | Substitution of distinct mathematical or logical concepts. | Substitution of semantically or logically related entities, properties, or concepts. |
| Misgeneralization | Erroneous extrapolation from a specific concept to an invalid general rule. | Improper extension of a specific concept or heuristic to an invalid or broader context. |
| Reordered Logic | Permutation of the sequential order of reasoning steps. | Permutation of the sequential or causal order of reasoning steps. |
| Contradiction | Introduction of an inconsistency with established premises or prior conclusions. | Introduction of an assertion that conflicts with established facts, premises, or prior logic. |
| # | Answer | CoT (Chain of Thought) | Score |
| Question: Suppose in the diagram below. What is ? [asy] pair D,E,F; F = (0,0); D = (sqrt(51),7); E = (0,7); draw(D–E–F–D); draw(rightanglemark(D,E,F,15)); label(" ",D,NE); label(" ",E,NW); label(" ",F,SW); label(" ",(E+F)/2,W); [/asy] | |||
| 1 | ✗ | We are given that and we need to find the length of . In the right triangle , we know that is the side opposite angle and is the side adjacent to angle . The length of is given as . Using the definition of sine, we have: . We can also express in terms of and using the Pythagorean theorem: . Substituting into the equation gives: . Now substituting this into the sine equation: . To eliminate the square root, we can square both sides: . Calculating : . Cross-multiplying gives: . Expanding this: . Rearranging terms: . This simplifies to: . Dividing both sides by : . Taking the square root to find : . | 0.338 |
| Question: is parallel to the segment through , and . What is the number of degrees represented by ? [asy] draw((0,0)–(10,0)); draw((0,3)–(10,3)); draw((2,3)–(8,0)); draw((2,3)–(4,0)); label(" ",(2,3),N); label(" ",(4,0),S); label(" ",(8,0),S); label(" ",(2,3),SW); label(" ",(4.5,3),S); [/asy] | |||
| 1 | ✗ | We start by analyzing the given information. We have two parallel lines, one at the top (where point A is located) and one at the bottom (where points B and C are located). The angle at point A is given as . Since is parallel to the line through , the angle at and the angle at point are corresponding angles. According to the properties of parallel lines, corresponding angles are equal. Therefore, we can set up the equation: . Thus, the value of is directly equal to the angle at point . | 0.398 |
| 2 | ✓ | In the given problem, we have two parallel lines represented by the segments through points and and . Since is parallel to the segment through , we can use the properties of alternate interior angles. The angle at point is given as . Since is equal to , triangle is isosceles with . Therefore, the angles at points and must be equal. Let the angle at point be . The angle at point will also be . The sum of the angles in triangle must equal . Thus, we can set up the equation: This simplifies to: Subtracting from both sides gives: Dividing both sides by yields: . Thus, the value of is . | 0.798 |
| 3 | ✗ | In the given problem, we have two parallel lines, and we know that is parallel to the segment through . The angle at point is given as . Since is equal to , triangle is isosceles with . The angle is the angle at point which is opposite to the angle at point . By the properties of parallel lines and the angles formed, we can use the fact that the angle at and the angle at are supplementary because they are on the same side of the transversal line . Thus, we can set up the equation: Now, we can solve for : Therefore, the value of is . | 0.177 |
| 5 Examples | 10 Examples | 15 Examples | ||||
| Method | DeepSeek-V3 | Qwen3-14B | DeepSeek-V3 | Qwen3-14B | DeepSeek-V3 | Qwen3-14B |
| Standard CoT | 92.35 | 90.16 | 92.35 | 91.53 | 92.62 | 92.62 |
| Denoise | 92.62 | 85.79 | 94.54 | 89.34 | 92.08 | 90.16 |
| Polish | 94.81 | 92.08 | 92.62 | 89.07 | 91.80 | 90.98 |
| Reflect | 93.44 | 88.25 | 94.54 | 87.98 | 90.44 | 90.71 |
| Consistency | 90.98 | 91.26 | 93.17 | 90.98 | 93.00 | 89.89 |
| Method | Prompt Template |
| zero shot | Please answer the following question without any explanation. |
| Please format your response as follows: | |
| Answer: Final numeric answer | |
| Module | Prompt Template |
| Question: {question} | |
| CoT: {cot} | |
| Answer: {ground_truth} | |
| Task: Determine whether the provided Chain of Thought (CoT) logically deduces the correct answer for the given question. Respond with "True" if the reasoning leads to the answer, or "False" if it does not. | |
| The counterfactual chain generation | You are given a math question and its corresponding reasoning chain. |
| Method | Stage | Prompt Content and Some examples of demo |
| Consistency | — | Base Prompt: Think step by step to solve the following question. First provide the reasoning process (CoT), then give the numeric final answer. |
| Format: CoT: Step-by-step reasoning Answer: Final numeric answer | ||
| Example: {Example} | ||
| Reflect | 1 | (Same as the Base Prompt above) |
| 2 | Reflection Prompt: Based on the Chain-of-Thought (COT) reasoning and the answer you just provided, please reconsider the following question. Confirm the correctness of your prior answer, and then answer it again, also using the Chain-of-Thought (COT) format followed by the final answer. | |
| Denoise | 1 | (Same as the Base Prompt above) |