Visual walkthrough — Transformations — vertical - horizontal shifts, reflections, stretches - compressions
Before line one, let us agree on the only piece of notation we lean on.
Step 1 — The single dot we will follow
WHAT. Pick one dot on the parent graph and name it .
Read this slowly: is just some fixed input number (say the machine is fed ). Then is the height the machine returns for that input. So is "at horizontal position , the graph is tall."
WHY start with one dot? Because a graph is nothing but its dots. If we can prove where one arbitrary dot goes, and was arbitrary, then every dot obeys the same rule — the whole curve moves as one.
PICTURE. The parent in ink, with our chosen dot circled and its two coordinates measured off the axes.

Step 2 — Edit the OUTPUT: add (vertical shift)
WHAT. Build a new machine . Feed it the same input :
So the dot becomes .
WHY does the picture move up? We touched only the output. The horizontal spot never changed — the machine still gets . But whatever height came out, we glue more on top. Height is vertical position, so the dot climbs by . Since was arbitrary, every dot climbs by the same : the whole curve slides up rigidly (if it slides down by ).
PICTURE. The same dot lifted straight up by the arrow of length ; horizontal position pinned.

Recall
Adding to the output moves the graph which direction? ::: Vertically — up if , down if . Horizontal position never changes.
Step 3 — Edit the OUTPUT: multiply by (vertical stretch, and reflection)
WHAT. Now scale the output: . (Here is a multiplier — reusing the letter from the general form; do not confuse it with the input number, which we already spent in Step 1. From here I write the input number as .) Feed input : The dot becomes .
WHY multiplication and not addition here? Addition (Step 2) moves every dot by the same distance — a rigid slide. Multiplication moves each dot by an amount proportional to its own height: a dot twice as high moves twice as far from the -axis. That is exactly what "stretch away from the axis" means. This is why the tool is , not .
ALL CASES for the factor :
PICTURE. One panel showing the same curve stretched (), compressed (), and flipped (), the fixed -intercept marked.

Step 4 — Edit the INPUT: replace by (horizontal shift, the paradox)
WHAT. Now we edit the input: . We ask the deciding question — for which does the new graph do what the old graph did at ? We need the machine to actually receive : So the dot that was at horizontal position now lives at : .
WHY does subtracting shift right? Because subtraction happens before the machine sees the number. To hand the machine its favourite input , you must feed it something larger, so the subtraction can eat the back off. You compensate by going right. This is the inside-out paradox — every input edit runs backwards from what the sign suggests.
PICTURE. The dot slides horizontally by ; height pinned. A "what input does the machine actually receive" tag shows arriving even though we typed .

Step 5 — Edit the INPUT: replace by (horizontal stretch, the counter-intuition)
WHAT. Scale the input: . Again ask "which delivers to the machine?" So — horizontal position divided by .
WHY does compress? Division. If , the dot that lived at now lives at — closer to the -axis. Every dot is pulled in by the same fraction, so the whole curve squeezes toward the vertical axis. Bigger ⇒ smaller landing spot ⇒ tighter squeeze. This is why the effect feels backwards, and it is the same inside-out logic as Step 4.
PICTURE. (period ) beside (period ): same shape, positions halved.

Step 6 — The degenerate cases we must not skip
WHAT / WHY. A rule is only trustworthy once you've checked the boundaries where it might break.
PICTURE. Left: legal squeeze . Right: the collapse at (a flat line) — a visual warning.

Step 7 — Assemble everything: the order is forced by composition
WHAT. Stack all four edits into and track our dot from the inside out, exactly as composition demands (the innermost bracket runs first):
Following the dot: to get input into the machine we need , so , and the output becomes . Net:
WHY this exact order — Shift, Squeeze, Stretch, Shift? The two input edits ( then ) live inside the bracket and must respect their nesting: shift first, then scale, or the numbers land wrong. The two output edits ( then ) happen after fires, and multiplication precedes addition there too. Do them out of order and the compensation arithmetic no longer matches the picture.
PICTURE. The dot's four-arrow journey from parent to final graph, each arrow labelled with its edit.

The one-picture summary

The whole chapter is one migration rule for a single dot: Inputs edit the left coordinate and run backwards ( shifts right, squeezes). Outputs edit the right coordinate and run forwards ( stretches, lifts). See also Inverse Functions, Absolute Value Functions, and Piecewise Functions for parents that carry these same edits.
Recall Feynman retelling — say it like a story
Imagine a machine that eats a number and spits out a height, and you're tracking one bead sitting on the curve. To move the bead up, you add height to whatever comes out — that's . To make it flee the floor, you multiply the height — that's , and if is negative the bead flips to the other side of the floor. Now the sneaky part: to move the bead sideways, you edit the number before the machine tastes it. If you subtract inside, you must stand further right so the machine still receives its favourite number — that's the paradox. And if you multiply the input by , the bead lands at position-divided-by-, so a big crushes the picture inward. Do the inside edits first (shift, then squeeze), then the outside edits (stretch, then shift), because that's the order the machine actually processes them. One bead, four honest edits, and the whole zoo of graphs falls out.