Intuition What this page is
The parent note Chain-of-thought prompting told you what CoT is and why it works. This page is the drill ground: we enumerate every kind of situation CoT can be thrown into — clean arithmetic, tricky trap questions, zero/degenerate cases, self-consistency ties, faithful-but-wrong chains, and a scaling edge case — then work each one end to end. By the last example you should never meet a scenario you haven't seen.
Before we compute anything, three small pieces of notation appear repeatedly, so we earn them up front.
Definition Notation we will use
⇒ (the arrow "implies"): read "X ⇒ Y " as "if X is true, then Y is true." It is just a shorthand for the word "implies" — nothing more.
Indicator function 1 [ condition ] : a tiny counter that equals 1 when the condition inside is true and 0 when it is false . So 1 [ 3 = 3 ] = 1 and 1 [ 3 = 4 ] = 0 . Summing indicators is just counting how many times something happens .
arg max ("the argument of the maximum"): while max gives you the biggest value , arg max gives you which input produced it . If a tally says { 12 → 3 , 8 → 1 } , then max = 3 (the count) but arg max = 12 (the winning answer).
The hat, a ^ : a hat over a letter means "our estimate of a " — a best guess produced by a procedure, not necessarily the exact truth.
n → 0 + : here n is a quantity we let shrink; the small "+ " means it approaches 0 from the positive side (through 0.1 , 0.01 , 0.001 , … ), never actually reaching 0. We read it "as n goes to zero from above."
Think of a "scenario" as a cell in a grid. The two axes that matter most for CoT are (a) what kind of reasoning the question needs and (b) what edge condition makes it tricky . Below, every row is a case class we will fully solve.
#
Case class
The trap / edge condition
Example
C1
Sequential arithmetic
order of operations matters
Ex 1
C2
Rate / normalisation
"scale the count" illusion
Ex 2
C3
Multi-hop logic
chaining facts, no numbers
Ex 3
C4
Degenerate input
zero / empty / "nothing happens"
Ex 4
C5
Limiting / extreme value
very large or "0 machines" boundary
Ex 5
C6
Self-consistency clear majority
outliers are lone errors
Ex 6
C7
Self-consistency tie
two answers get equal votes
Ex 7
C8
Faithfulness failure
chain looks right, answer wrong
Ex 8
C9
Real-world word problem
units, money, must sanity-check
Ex 9
C10
Exam-style twist
scale / small-model gotcha
Ex 10
Every cell above is covered by exactly one worked example below. If you want the tools these examples lean on, see Self-Consistency Decoding , Temperature and Sampling , and Emergent Abilities of LLMs .
The figure below draws this same matrix as ten coloured tiles — the top row is "ordinary" reasoning (C1–C3), the middle two rows are exactly the tricky edge cases (the degenerate, limiting, tie, faithfulness and scale cells). Notice how the teal arrow points into the interior of the grid : those inner tiles are where naive prompting quietly breaks, and they are the whole reason this page exists. Glance at the colour of each tile now — every worked example below is labelled with its cell ID so you can locate it back on this map.
Recall What to take from the figure
Where do the "dangerous" cases sit on the grid? ::: In the interior rows (C4 Zero, C5 Limit, C7 Tie, C8 Faith) — the edge conditions the teal arrow points at, not the clean top row.
Worked example Example 1 — C1 Sequential arithmetic
Q: A shelf has 15 books. A librarian removes 9, then adds 4 new ones, then removes 2 damaged ones. How many books remain?
Forecast: guess the final number before reading on. (Many people blurt "26" by adding everything.)
Anchor the start: 15 books.
Why this step? CoT works by writing the current state to the scratchpad so the model never has to hold it silently in one hidden state (see Chain-of-thought prompting ).
Remove 9: 15 − 9 = 6 .
Why this step? Do one operation at a time and record the running total, so the next step reads a clean number, not a memory.
Add 4: 6 + 4 = 10 .
Why this step? Events happen in sequence; order is preserved by processing left to right.
Remove 2: 10 − 2 = 8 .
Why this step? Final operation on the running total gives the answer.
The answer is 8.
Why this step? The last running total is the answer once every event has been consumed — nothing further remains to apply.
Verify: net change = − 9 + 4 − 2 = − 7 , and 15 − 7 = 8 . ✓ The two independent routes (step-by-step vs net change) agree.
Worked example Example 2 — C2 Rate / normalisation
Q: If 3 painters paint 3 fences in 3 hours, how long do 12 painters take to paint 12 fences?
Forecast: the tempting wrong answer is "12 hours" (scaling both numbers). Guess before continuing.
Find the per-painter rate: 3 painters → 3 fences in 3 h means each painter paints 1 fence in 3 h.
Why this step? Normalising to "one painter" removes the illusion that more painters means more total time.
Apply that rate to 12 painters: each of the 12 painters paints their own fence in the same 3 h, in parallel.
Why this step? Rate is per painter ; adding painters adds parallel workers, not extra time.
The answer is 3 hours.
Why this step? Since every painter finishes their own fence in one shared 3 h window, the whole job ends when that window ends.
Verify: rate = 1 fence per painter per 3 h. Time = rate fences per painter = 1/3 1 = 3 h, independent of painter count. ✓ Units: hours. ✓
Worked example Example 3 — C3 Multi-hop logic (no numbers)
Q: All Bloops are Razzies. All Razzies are Lazzies. Are all Bloops definitely Lazzies?
Forecast: yes or no?
Recall from the notation box: X ⇒ Y just means "if X then Y ."
Fact 1: Bloop ⇒ Razzie (i.e. "if something is a Bloop, it is a Razzie").
Why this step? Externalise each premise as its own line so the chain can compose them.
Fact 2: Razzie ⇒ Lazzie ("if something is a Razzie, it is a Lazzie").
Why this step? A second forward pass reads Fact 1 from context and can now link to it.
Chain them: Bloop ⇒ Razzie ⇒ Lazzie, so Bloop ⇒ Lazzie.
Why this step? Transitivity: if X ⇒ Y and Y ⇒ Z then X ⇒ Z .
The answer is: Yes, all Bloops are Lazzies.
Why this step? The composed implication Bloop ⇒ Lazzie is exactly the question asked, so answering it needs no extra reasoning.
Verify: substitute a concrete world — dogs⊆mammals⊆animals — the same shape gives "all dogs are animals," which is true. ✓ The logical form holds regardless of the labels.
Worked example Example 4 — C4 Degenerate input (zero / nothing happens)
Q: A basket has 7 eggs. Nobody adds or removes any eggs. How many eggs remain?
Forecast: trivial — but watch how a bad chain can invent an operation.
Anchor the start: 7 eggs.
Why this step? Even in a degenerate case, write the state first.
Count operations: the number of add/remove events is 0.
Why this step? Explicitly noting "no operation" stops the model from hallucinating a subtraction to "look like it worked."
Apply zero change: 7 + 0 = 7 .
Why this step? Adding 0 (the identity for addition) leaves the value unchanged — the degenerate case is still handled by the same rule.
The answer is 7.
Why this step? With no events to process, the anchored start value survives untouched as the final state.
Verify: net change = 0 , so final = 7 + 0 = 7 . ✓ Degenerate cases must fall out of the same procedure, not a special one.
Worked example Example 5 — C5 Limiting / boundary value
Q: In the painter setup (each painter paints 1 fence in 3 h), how long do 0 painters take to paint 5 fences?
Forecast: a number? Or something stranger?
Let n denote the number of painters — a quantity we can vary. Here we set it to its boundary value n = 0 .
Recall the rate: each painter contributes 3 1 fence per hour.
Why this step? Reuse the normalised rate from Ex 2.
Total rate with n = 0 painters: 0 × 3 1 = 0 fences per hour.
Why this step? Total throughput scales with the number of workers; zero workers means zero throughput.
Time needed: time = 0 fences/hour 5 fences , which is division by zero → undefined / infinite .
Why this step? The boundary n = 0 breaks the naive "divide work by rate" formula; recognising it is the whole point of covering limits.
The answer is: it never gets done (time is infinite / undefined).
Why this step? When throughput is exactly zero there is no finite time at which the work completes, so "never" is the only consistent conclusion.
Verify: as painter count n → 0 + (recall: n shrinking toward 0 from the positive side), time = n /3 5 = n 15 → ∞ . ✓ The limit confirms the boundary answer.
Worked example Example 6 — C6 Self-consistency, clear majority
Q: Using Self-Consistency Decoding with temperature > 0 , we sample N = 5 chains for a puzzle (here N is the number of sampled chains ). Their final answers are: 12, 12, 8, 12, 15. What is the self-consistency answer?
Forecast: which value wins the vote?
The estimator uses the notation from our box: a ^ is our estimate of the answer, 1 [ a i = a ] is 1 when chain i 's answer a i equals candidate a (else 0), and arg max a picks the candidate with the largest count:
a ^ = arg max a ∑ i = 1 N 1 [ a i = a ]
Tally the votes: for candidate 12, ∑ i 1 [ a i = 12 ] = 3 ; for 8 it is 1; for 15 it is 1.
Why this step? Summing indicators is literally counting how many chains produced each answer.
Pick the mode: arg max selects 12, since 3 is the largest count.
Why this step? Correct answers are reached by many valid reasoning paths; lone errors (8, 15) scatter.
The answer is a ^ = 12 .
Why this step? arg max returns the winning candidate , not the count — so the reported answer is 12, not 3.
Verify: ∑ i 1 [ a i = 12 ] = 3 > 1 = ∑ i 1 [ a i = 8 ] , and 3 > 2 N = 2 5 so it's a strict majority. ✓
Worked example Example 7 — C7 Self-consistency, a TIE
Q: Now we draw N = 4 chains giving: 1/3, 1/2, 1/3, 1/2. What does self-consistency return?
Forecast: does voting still give a clean winner?
Tally: ∑ i 1 [ a i = 1/3 ] = 2 and ∑ i 1 [ a i = 1/2 ] = 2 .
Why this step? Same arg max rule — but now the maximum count is shared by two candidates.
Detect the tie: two answers share the top count of 2, so arg max returns a set of two candidates, not one.
Why this step? arg max over a set with two equal maxima is ambiguous ; you must not silently pick one.
Break the tie: increase N (sample more chains ) to add resolution, or fall back to the single highest-probability chain.
Why this step? More Monte-Carlo samples reduce variance so the true marginal separates the two candidates.
The answer is: undecided at N = 4 — draw more samples.
Why this step? Because arg max is not single-valued here, honesty requires reporting "no winner yet" rather than fabricating one.
Verify: votes are 2 = 2 , so arg max is a 2-element set, not a single value. A tie is a genuine outcome the matrix must include. ✓
Worked example Example 8 — C8 Faithfulness failure (chain looks right, answer wrong)
Q: A chain reads: "There are 3 red balls and 2 blue balls, so 3 + 2 = 6 balls total. The answer is 6." Is the reasoning trustworthy?
Forecast: the sentence sounds fluent — is it correct?
Read the stated arithmetic: the chain claims 3 + 2 = 6 .
Why this step? Faithfulness means checking whether each written step is actually valid , not just fluent.
Check the step: 3 + 2 = 5 , not 6.
Why this step? A plausible-sounding chain can hide an arithmetic slip — correctness of the chain's prose ≠ correctness of its maths .
Conclude: the chain is unfaithful ; the true total is 5, and the model's "6" is a post-hoc error.
Why this step? This is the faithfulness problem from the parent note: the written reasoning may not be the causal reason for a correct answer.
The corrected answer is 5.
Why this step? Once the faulty step is fixed, the honest recomputation 3 + 2 = 5 becomes the answer we can defend.
Verify: 3 + 2 = 5 . ✓ The model's asserted 6 is false; always re-check numeric steps rather than trusting the narration.
Worked example Example 9 — C9 Real-world word problem (money + units)
Q: A shop sells pens at ₹8 each. You buy 12 pens and hand over a ₹100 note. How much change do you get?
Forecast: estimate the change before computing.
Cost of pens: 12 × 8 = 96 rupees.
Why this step? Convert "12 pens at ₹8" into a single money quantity first.
Change from ₹100: 100 − 96 = 4 rupees.
Why this step? Change is money given minus money owed; subtraction in the correct direction.
The answer is ₹4.
Why this step? The remaining money after paying the bill is exactly what "change" means, so this quantity is the answer.
Verify: reverse it — spend ₹96 and get ₹4 back, total ₹100 accounted for: 96 + 4 = 100 . ✓ Units are rupees, and ₹4 < ₹100 so it's sensible change. ✓
Worked example Example 10 — C10 Exam-style twist (scale gotcha)
Q (conceptual): You run zero-shot CoT ("Let's think step by step") on a tiny 100-million-parameter model and on a large 100-billion-parameter model for the same hard multi-step problem. On which model does CoT reliably help — and what is the wrong intuition?
Forecast: "prompting is model-agnostic, so both benefit equally" — is that right?
State the naive claim: a prompt is just text, so it should help every model.
Why this step? Name the intuition so we can test it.
Apply the emergence fact: CoT gains are largely emergent with scale ; they appear strongly only in large models (roughly ≳ 10B params), see Emergent Abilities of LLMs .
Why this step? CoT unlocks a latent ability the big model already has; it cannot create ability the tiny model lacks.
Resolve: the 100B model reliably benefits; the 100M model may not, and can even produce fluent-but-wrong chains and get worse .
Why this step? The twist is that "model-agnostic prompting" is false for CoT specifically.
The answer is: the large (100B) model.
Why this step? Only the model that clears the emergence threshold can be relied on to gain from CoT, and that is the 100B one.
Verify: compare parameter counts — 100 , 000 M ≥ 10 , 000 M (crosses the threshold) while 100 M < 10 , 000 M (below it). ✓ Only the large model clears the emergence bar.
Recall Quick self-test across the matrix
Which example handled a division-by-zero boundary? ::: Example 5 (C5), 0 painters → infinite/undefined time.
In a self-consistency tie, what do you do? ::: Draw more chains (increase N ) or fall back to the top-probability chain — don't silently pick one (Ex 7, C7).
Why can a fluent chain still be wrong? ::: Faithfulness problem — the prose may hide a bad step; re-check the maths (Ex 8, C8).
On which model does CoT reliably help? ::: The large one; gains are emergent with scale (Ex 10, C10).
Mnemonic Cover every cell
"Order, Rate, Chain, Zero, Limit, Vote, Tie, Faith, Money, Scale." — ten cells, ten examples.