2.2.3 · D2Functions

Visual walkthrough — Function notation — f(x), g(x)

2,475 words11 min readBack to topic

Prerequisites we lean on gently: Function definition and domain (what a valid input is) and, at the end, Composite functions. This is a child of Function notation — f(x), g(x).


Step 1 — What is an input and an output? (the naked machine)

WHAT. Before any letters, we draw a box. Something goes in on the left; something comes out on the right. Nothing else.

WHY. Every symbol we use later (, , ) is just a name for one of these three things: the box, the thing entering, the thing leaving. If you can point at each part in the picture, the notation can never trick you.

PICTURE. Look at the amber arrow entering and the cyan arrow leaving.

Figure — Function notation — f(x), g(x)
Figure (alt-text): An empty rounded rectangle on blueprint-blue grid paper. An amber arrow labelled "in" points into its left side; a cyan arrow labelled "out" points out of its right side. A white question mark sits inside the box — the rule is not yet named.


Step 2 — Name the box: this is

WHAT. We paint a label on the box itself. Call it .

WHY. We may own several boxes later (a squaring box, a doubling box). If they are all unnamed, "the answer from the box" is hopelessly vague. A name lets us say which box.

PICTURE. The label sits on the box, not on either arrow. That placement is the whole point: is the machine, not the stuff flowing through it.

Figure — Function notation — f(x), g(x)
Figure (alt-text): The same box, now with a cyan label "f" printed on top of the box (not on the arrows). Amber "in" arrow enters, cyan "out" arrow leaves. Amber caption below reads: f = the machine (a rule), not a number.


Step 3 — Name the input: this is

WHAT. Label the amber arrow entering the box. Call it .

WHY. is a placeholder — a blank waiting for any allowed value (any value in the domain). Naming it lets us talk about "whatever you feed in" without committing to a specific number yet.

PICTURE. The label rides on the entering arrow. Where the label sits tells you its job: on the arrow = "I am travelling into the machine."

Figure — Function notation — f(x), g(x)
Figure (alt-text): The box labelled "f". The entering amber arrow is now labelled "x". An amber caption reads: x = placeholder for any allowed value. The leaving arrow is still just "out".


Step 4 — Write the recipe inside, and name the output: this is

WHAT. Two things at once. (1) We write the rule inside the box — say "double, then add one." (2) We label the leaving arrow , read aloud "f of x".

WHY. The output depends on both the box () and what we fed it (). So its name should mention both — that is exactly what does: it literally reads "the output of box when fed ."

Term by term on the left side:

PICTURE. Amber enters, the recipe "" is printed inside the box, cyan leaves. Feed : the box computes , so .

Figure — Function notation — f(x), g(x)
Figure (alt-text): The box labelled "f" now contains the recipe "2x+1". The entering amber arrow is labelled "x = 3"; the leaving cyan arrow is labelled "f(x)". A cyan note beneath reads f(3) = 2(3)+1 = 7.


Step 5 — The input can be a whole expression, not just a letter

WHAT. Whatever sits between the brackets is the entire thing the box eats. Feed it and the box eats — all of it.

WHY. This is the single most-mistaken point in the whole topic. The box does not know or care that the input "looks like "; it simply substitutes the whole packet everywhere it sees its input slot.

With :

Contrast with adding after the box:

PICTURE. Two machines side by side. Left: the packet goes into the box, so the square wraps the whole packet. Right: plain goes in, the box outputs , and only then does a get bolted onto the pipe outside.

Figure — Function notation — f(x), g(x)
Figure (alt-text): Two stacked machines. Top: an amber arrow labelled "x+2" enters a box with recipe "( )^2", and the cyan output is "(x+2)^2". Bottom: an amber arrow labelled "x" enters an identical box, the cyan output is "x^2", and only outside the box a small white "+2" arrow is bolted on to give "x^2+2". The two outputs differ.

Check: for , but . Not equal.


Step 6 — Two boxes: chaining them (composition)

WHAT. Now own two boxes, and , and place them in a line so the output of one becomes the input of the other.

WHY. With outputs that are honest values (like ), we can push that value straight into the next box. The notation makes the chain unambiguous.

Let and . First the numbers, computing inside-out:

But the real power is doing it with the symbol still inside, so the whole recipe of becomes the input packet of :

Term by term: the and the come from 's recipe; the dropped into the slot came from . Sanity check with the number: at , — matching above.

PICTURE. Amber enters box → cyan leaves → that same (now amber again) enters box → cyan leaves. The value physically travels down the pipeline.

Figure — Function notation — f(x), g(x)
Figure (alt-text): Two boxes in a line. Left box labelled "g" with recipe "x^2+1"; right box labelled "f" with recipe "2x-3". An amber arrow "2" enters g, a cyan arrow "5" links g to f, a cyan arrow "7" leaves f. A white caption reads: value 5 travels into f.


Step 7 — Swap the order: why

WHAT. Reverse the pipeline. Same two boxes, opposite order, same starting number .

WHY. "" tempts us to think order never matters. But the boxes do different jobs at different stages, so swapping them reshapes the whole journey.

Numbers first:

Now symbolically, so you can see it is a different rule from Step 6:

Compare the two composites side by side:

and their number outputs, versus , disagree too. (Note the domain gates also swap: for you now need to land in 's domain.)

PICTURE. Top pipeline: then gives . Bottom pipeline: then gives . Same input enters both; two different cyan numbers leave. Order is visible as which box you meet first.

Figure — Function notation — f(x), g(x)
Figure (alt-text): Two pipelines stacked. Top: amber "2" enters box g (x^2+1), cyan "5" links to box f (2x-3), cyan "7" leaves. Bottom: amber "2" enters box f, cyan "1" links to box g, cyan "2" leaves. A large amber label between them reads "7 ≠ 2".


Step 8 — The degenerate cases (never hit a surprise)

WHAT. Three boundary situations, each drawn:

  1. Feed . With : . Only the constant survives — this is the height where the graph crosses the vertical axis (the -intercept). See Graphing functions.
  2. Feed the box its own input name back, i.e. the identity box. If a box's recipe is "do nothing," : output equals input. This is the box that undoes nothing — the neutral one, and the target of Inverse functions.
  3. Feed an input the box refuses. If , then has no output: the box jams because dividing by zero is undefined. That value is simply not in the domain — the arrow enters but nothing valid leaves.

WHY. A safe reader must know what happens at zero, at "do nothing," and at forbidden inputs — otherwise the first weird case breaks their mental model.

PICTURE. Three mini-boxes: (a) in, out; (b) the identity pipe passing straight through; (c) a jammed box with a broken cyan arrow at .

Figure — Function notation — f(x), g(x)
Figure (alt-text): Three small machines in a row. Left: amber "0" enters box f (2x+1), cyan "1" leaves. Middle: amber "x" enters box "id" (recipe x), cyan "x" leaves unchanged. Right: amber "0" enters box h (1/x), and a dashed cyan arrow labelled "jammed" leaves — no valid output. Caption: 0 → constant only; identity → passes through; 1/x → no output at 0.

Recall Check yourself

With , what is ? ::: For , why is undefined? ::: division by zero has no value; is not in the domain Does the identity box change its input? ::: no — output equals input


The one-picture summary

WHAT. One diagram collapses the whole walkthrough: a labelled box (name on the box), amber input , printed recipe, cyan output ; below it, a two-box pipeline showing composition and the fact that reversing it changes the answer.

Figure — Function notation — f(x), g(x)
Figure (alt-text): Summary blueprint. Top: box labelled "f" containing "rule", amber "x" arrow in, cyan "f(x)" arrow out. Bottom: boxes "g" then "f" chained, amber "x" in, cyan arrows through, output "f(g(x))". Amber caption reads: inner box runs first → f(g(x)) ≠ g(f(x)).

Recall Feynman retelling — say it to a 12-year-old

Picture a labelled machine on a workbench. Its name is painted on the side — that name is . On the left, a chute where you drop something in; that dropped thing is the input . Inside is a recipe card that tells the machine what to do. On the right, a tray where the finished thing lands; that finished thing is called , said "f of x", because it depends on which machine and what you dropped in.

Rule one: whatever you drop in the chute, the machine works on all of it. Drop in "" and the machine squares the whole lump — that is why is not the same as squaring first and gluing a on afterwards.

Rule two: line up two machines and let the tray of the first empty into the chute of the second. The number travels down the line, changing at each machine. Swap the machines and the number meets a different machine first, so it comes out different. That is why and usually disagree. And watch the chute of the second machine: whatever the first machine hands over must be something the second machine actually accepts — otherwise the line jams and that starting number is simply not allowed.

Connections

  • Function definition and domain — which inputs the chute accepts; the domain-of-composition gates (Step 6)
  • Composite functions — chaining boxes (Steps 6–7)
  • Inverse functions — the box that undoes another; the identity box (Step 8)
  • Graphing functions — the output as the -intercept (Step 8)
  • Piecewise functions · Function transformations · Limits and calculus · Parametric equations — where this notation is reused