From CIF to the Fundamental Theorem of Algebra

Lesson 5, Segments 1–4 — one cumulative chain. Each result is proved using only the one before it. Scroll down; use Next step in each section to build the proof.

Node 0

Starting point — already derived

f(z0)  =  12πi ∮γ f(z)z − z0 dz
The Cauchy Integral Formula: for f holomorphic on and inside a simple closed contour γ, the values of f on γ determine its value at every interior point. Derived step by step in 04 · Contour deformation & the CIF. Everything on this page descends from this one formula.
§1

Cauchy’s differentiation formulas

uses: CIF (Node 0)

Differentiate the CIF under the integral sign, with respect to z0 — one derivative at a time.

Shading = |f(z)/(z−z0)n+1| for f(z) = ez. Drag z0. Higher n ⇒ the integrand’s weight concentrates ever more tightly at z0.
What am I looking at?
  • The complex plane — every point is an input z. Axes are Re and Im; faint gridlines every ½.
  • The contour γ (arrowhead = counterclockwise). This is the path the integral ∮γ travels — the formula only ever reads f on this circle.
  • z0, draggable — the point whose derivatives the formula computes. It is also the singularity: the (z−z0)n+1 in the denominator blows up exactly there.
  • Purple shading = |ez/(z−z0)n+1|, the integrand’s magnitude — deeper purple, bigger. Step n up: the weight clamps tighter around z0. Higher derivatives are more local information, and the integrand concentrates to match.
  • ≈The readouts below evaluate the contour integral numerically and compare it to the true derivative ez0. They agree wherever you drag z0 — the formula demonstrated, not just asserted.
n =
n!/(2πi) ∮γ ez/(z−z0)n+1 dz  (numeric) =
exact:  f(n)(z0) = ez0 =
Carried over — node 0 (CIF)
f(z0) = 12πi ∮γ f(z)z − z0 dz
Differentiate both sides with respect to z0 (the integral is over z, so z0 only appears in the denominator):
f′(z0) = 12πi ∮γ f(z)(z − z0)² dz
Reason: ∂/∂z0 (z−z0)−1 = (z−z0)−2
Differentiate again — each pass pulls down one more factor:
f″(z0) = 22πi ∮γ f(z)(z − z0)³ dz
Reason: ∂/∂z0 (z−z0)−2 = 2(z−z0)−3
And again — the factors accumulate: 1, then 1·2, then 1·2·3…
f‴(z0) = 3!2πi ∮γ f(z)(z − z0)⁴ dz
The pattern, for every n ≥ 0:
f(n)(z0) = n!2πi ∮γ f(z)(z − z0)n+1 dz
The consequence The right-hand side exists as soon as f is holomorphic on γ and its interior — nothing about higher derivatives was ever assumed. So f(n)(z0) exists for every n: holomorphic ⇒ infinitely differentiable, automatically.
Zero real-variable analogue: a real function can be differentiable exactly once. Complex differentiability once buys you all derivatives forever.
Consistency check (today’s example): f(z) = ez, z0 = 0, n = 1. The formula predicts f′(0) = e0 = 1 — and the numerically computed integral on the left agrees. Check the readouts under the plot.
§2

Cauchy’s estimates

uses: differentiation formulas (§1)

Take γ = CR, a circle of radius R around z0, and simply bound the size of the integral in §1’s formula.

Ticks = |f| sampled on CR (here f = ez, z0 = 0). Red dot = where |f| is largest: that value is M.
What am I looking at?
  • CR — the contour: a circle of radius R (set by the slider) centered at z0 = 0. On it, |z − z0| = R exactly — that’s what makes circles the right contour for estimates.
  • Each tick points outward from the circle with length ∝ |f| at that point. Here f = ez and |ez| = eRe z, so the samples swell toward the circle’s right edge.
  • The largest sample. Its value is M — the “M” of the ML-estimate. Every other point on the circle is ≤ M, which is the only fact the proof uses.
  • ≤The readouts assemble the estimate from its three raw parts: the max M, the length 2πR, and the finished bound M/R. Slide R and watch all three move together.
M = max |f| on CR =
length(CR) = 2πR =
bound (n = 1):  |f′(z0)| ≤ M/R =
(n = 1 shown; the same works for every n.)
Carried over — §1’s result
f(n)(z0) = n!2πi ∮γ f(z)(z − z0)n+1 dz
Choose the contour to be CR: the circle of radius R centered at z0. Suppose |f(z)| ≤ M for all z on CR. On this circle, |z − z0| = R exactly — so the integrand’s size is at most M/Rn+1.
Apply the ML-estimate (Lesson 4’s workhorse):
|∮γ h(z) dz|  ≤  maxγ|h|  ·  length(γ)
Reason: the triangle inequality for integrals — a sum of small things is small.
Plug everything in, and don’t simplify yet — one honest, unsimplified fraction:
|f(n)(z0)|  ≤  n! · M · 2πR2π · Rn+1
n!/2π from the formula (|i| = 1) · M/Rn+1 is max|integrand| · 2πR is the length.
Cancel — watch each factor go The 2π’s cancel, and one power of R cancels:
|f(n)(z0)| ≤ n! · M · 2πR2π · Rn+1 (Rn+1 → Rn)
|f(n)(z0)|  ≤  n! MRn
Feel the bound shrink (today’s numbers, n = 1, M = 10 fixed):
R = 100
|f′| ≤ 0.1
R = 10,000
|f′| ≤ 0.001
The bigger the circle, the smaller the bound… so what happens if R keeps growing — forever? ↓
§3

Liouville’s theorem

uses: Cauchy’s estimates (§2)

Now let f be entire (holomorphic on all of ℂ) and bounded (|f| ≤ M everywhere, one fixed M) — and let the circle grow without limit.

R =1.5
|f′(z0)| ≤ M/R = 10/R =6.667
The gauge is the bound M/R. Because f is entire, no singularity ever stops the circle — R is free to grow forever.
What am I looking at?
  • z0 — the point where |f′| is being squeezed. It is arbitrary, and the sweep phase makes that literal by moving it everywhere.
  • CR mid-growth. The drawing compresses distance so that R → ∞ stays on screen — the circle creeps toward the edge while the true R (see readout) runs off to infinity.
  • The gauge is the live value of the bound M/R = 10/R. “The squeeze” is literally this bar draining to zero — and |f′(z0)| is trapped beneath it the whole way down.
  • f′=0The conclusion, stamped at every point the sweep visits: the identical argument runs at each one, because nothing about it depended on where z0 was.
  • The final purple wash: f′ ≡ 0 on all of ℂ, so f cannot change — one constant value across the entire plane.
Carried over — §2’s result, at n = 1
|f′(z0)|  ≤  1! · MR¹  =  MR
Hypotheses. f is entire: holomorphic on all of ℂ, so the circle CR is legal for every radius R — there is no singularity to avoid. And f is bounded: |f(z)| ≤ M with the same fixed M on every circle, no matter how large.
Key: both hypotheses are doing real work — entirety frees R, boundedness pins M.
The squeeze — the aha of the whole lesson Fix z0. The estimate holds for every R simultaneously:
0  ≤  |f′(z0)|  ≤  MR  ⟶  0   as  R → ∞
A fixed nonnegative number squeezed below every M/R has no choice:  |f′(z0)| = 0.  (Watch the gauge on the left run to zero.)
But z0 was arbitrary — nothing in the argument used where it sits. Run the same squeeze at every point of the plane:
f′(z0) = 0  for all z0  ⇒  f′ ≡ 0  ⇒  f is constant
Liouville: a bounded entire function is constant.
Sit with the strangeness. sin z and cos z are bounded and non-constant on ℝ… doesn’t that contradict Liouville? No — bounded on ℝ is not bounded on ℂ. Off the real axis, |sin(iy)| = sinh y → ∞:
Liouville doesn’t just tolerate this blow-up — it forces it. A bounded, non-constant entire function is not allowed to exist. (Curious why the squeeze needs R large, not small? Open the sidebar card “why must R grow”.)
§4

The Fundamental Theorem of Algebra

uses: Liouville (§3)

Every nonconstant polynomial over ℂ has a root. There is no easy real-variable proof — but from Liouville it takes five lines, by contradiction.

Domain coloring of p(z) = z³ + 1 — hue = arg p, dark = |p| small. The three dark points are the roots: eiπ/3, −1, ei5π/3 — the cube roots of −1, Lesson 1’s roots-of-unity picture rotated by π/3.
What am I looking at?
  • Domain coloring: every pixel is an input z, painted by the output p(z). Hue encodes arg p(z) — the angle of the output.
  • Brightness encodes |p(z)|: darker = closer to 0. A root is where p = 0 — so the roots are the dark points where all the hues collide.
  • The dashed white ring is |z| = r, from the slider. The readout tracks max |1/p| on that ring — it collapses toward 0 as r grows. That is precisely the “f = 1/p is bounded” step of the proof, made visible.
  • 3×Degree check: walk once around the outer edge of the picture and the hues cycle through the full color wheel three times — deg p = 3, one full cycle per root.
max |1/p(z)| on |z| = r =
Slide r outward: |p| → ∞, so |1/p| → 0 — the fact that makes f = 1/p bounded in the proof.
Carried over — §3’s result
Liouville: bounded + entire ⇒ constant
Setup. Let p(z) = anzn + … + a0, with n ≥ 1 and an ≠ 0. Suppose, for contradiction, that p(z) ≠ 0 for every z ∈ ℂ.
f(z) = 1/p(z)  is entire
↓quotient of holomorphic functions with a never-vanishing denominator
f  is bounded on all of ℂ
↓leading term dominates: |p(z)| → ∞ as |z| → ∞, so |f| → 0 outside a big disk; on the closed disk, f is continuous, hence bounded. (Watch the slider readout on the left.)
f entire + bounded  ⇒§3  f constant  ⇒  p constant
↓Liouville — the previous section, doing all the work
Contradiction But p has degree n ≥ 1 with an ≠ 0 — p is not constant. The assumption “p has no root” has destroyed itself.
FTA: every nonconstant polynomial over ℂ has at least one root.
For p(z) = z³ + 1: the guaranteed roots are the three dark points on the left — and factoring one out and repeating gives all n roots of any degree-n polynomial. Try other polynomials in the sidebar card.

The whole chain, complete

CIF→ Differentiation
formulas
→ Cauchy’s
estimates
→ Liouville→ FTA
From one formula — the Cauchy Integral Formula — to one of the most famous theorems in mathematics, in four steps, each a handful of lines. Not four separate facts: one continuous idea. That a statement about polynomials with no easy real proof falls out of contour integration is the whole case for complex analysis.