Reading Cauchy's theorem backwards
By now this rung has trained you to expect miracles to flow OUT of holomorphy. A function that is complex-differentiable once is, as the earlier guides showed, infinitely differentiable, represented by a power series, rigid beyond anything real analysis offers. The very first such miracle, from the integration rung, was the Cauchy integral theorem: if f is holomorphic on a nice region, then the integral of f around any closed loop inside it is zero. Holomorphy goes in, vanishing loop integrals come out.
Morera's theorem asks the bold question that any good mathematician eventually asks: can I run the arrow the other way? Suppose I only KNOW that f is continuous on an open set, and I happen to observe that its integral around every closed loop comes out to zero. Continuity alone is a feeble hypothesis — there are oceans of continuous functions that are nowhere differentiable. Yet Morera's theorem declares that this one extra fact, the vanishing of all the loop integrals, is enough to force f to be fully holomorphic. The converse holds.
Why it works: build a primitive, then differentiate it twice
The proof is short and lovely, and it leans entirely on tools you already trust. The plan is to manufacture a primitive for f — an antiderivative F with F'(z) = f(z) — and then invoke the rung's headline result. Once F exists and is holomorphic, F is automatically infinitely differentiable; in particular F'' exists, which means F' = f is itself holomorphic. We never check the Cauchy-Riemann equations for f directly; we sneak up on holomorphy through an antiderivative.
- Fix a base point z_0 in D and define F(z) as the integral of f along ANY path from z_0 to z that stays inside D.
- Check that F is well defined — independent of the path chosen. This is exactly where the hypothesis bites: two paths differ by a closed loop, and the loop integral is zero, so the two answers agree.
- Form the difference quotient (F(z+h) - F(z)) / h. It equals the average of f over the tiny segment from z to z+h, because F(z+h) - F(z) is just the integral of f along that one short straight piece.
- Let h shrink to zero. Since f is continuous, its average over a vanishing segment tends to its value at z, so F'(z) = f(z). Thus F is holomorphic, hence infinitely differentiable, so f = F' is holomorphic too.
Step 2 is the soul of the argument, and it is why the hypothesis was stated with triangles. To compare F along two paths you stitch them into a closed loop; any reasonable loop can be cut into triangles, so vanishing on triangles forces vanishing on the loop — this is precisely the spirit of the Goursat triangle argument running in reverse. Continuity, which felt so weak, is exactly the lubricant step 4 needs: the average of a continuous function over a shrinking interval slides smoothly to the value at the centre.
A tiny worked check and a warning about the loophole
Let us watch the machine refuse to mislead us. Take f(z) = z-bar, the conjugate, on the whole plane. It is perfectly continuous, so a naive reader might hope Morera makes it holomorphic — but we know from the holomorphic rung that z-bar fails the Cauchy-Riemann equations everywhere and is nowhere complex-differentiable. Morera must therefore find some triangle whose integral does NOT vanish, or the theorem would be false. Integrate z-bar around the unit square or any small triangle and you indeed get a non-zero answer (the integral of z-bar around a loop equals 2 i times the enclosed area). The hypothesis fails, so the theorem never fires. No contradiction; the loophole is closed.
Why Morera is the workhorse: proving NEW functions analytic
Here is the practical payoff that earns Morera its place in the toolkit. Checking the Cauchy-Riemann equations means splitting f into real and imaginary parts and differentiating them — fine for a formula like z^2, miserable for a function defined by an integral or an infinite sum. But integrating around a triangle and getting zero is often EASY, because integrals commute with limits and with each other under mild conditions. So whenever a new function is built by a process that obviously preserves the vanishing of loop integrals, Morera hands you holomorphy for free.
The cleanest example is a function defined by an integral over a parameter, like F(z) = integral of g(z, t) dt as t runs over an interval, where g is holomorphic in z for each fixed t. To prove F is holomorphic, swap the order: the loop integral of F is the t-integral of the loop integral of g, and each inner loop integral is zero by Cauchy. So every loop integral of F vanishes, and Morera concludes F is holomorphic. This single move underlies the analyticity of parameter integrals and, with care, the holomorphy of the Gamma and zeta functions you will meet far higher up the ladder.
F(z) = integral over t of g(z, t) dt loop integral of F = integral_loop ( integral_t g(z,t) dt ) dz = integral_t ( integral_loop g(z,t) dz ) dt <- swap order = integral_t ( 0 ) dt <- Cauchy: each is 0 = 0 so by Morera, F is holomorphic.
Where it leads: limits stay holomorphic, and reflections glue
Morera's converse is the hinge on which several deeper theorems swing. Suppose a sequence of holomorphic functions f_n converges uniformly on compact subsets to a limit f. Real analysis warns you that a uniform limit of differentiable functions need not be differentiable — think of corners forming. Yet here, because each loop integral of f_n is zero and uniform convergence lets you pass the limit inside the integral, every loop integral of the limit f is also zero. Morera then certifies that f is holomorphic. That is the vanishing-loop criterion doing heavy lifting that the Cauchy-Riemann equations could not.
Morera also powers gluing arguments where a function is built in pieces. The Schwarz reflection principle, for instance, takes a function holomorphic in the upper half-plane that stays real on a stretch of the real axis, reflects it into the lower half by the rule f(z-bar)-bar, and then needs to know the two halves fuse into one holomorphic function across the seam. Checking differentiability ON the seam is awkward; instead you verify that loop integrals straddling the real axis vanish, and Morera stitches the halves into a single analytic whole. The same continuous-with-vanishing-loops recipe seals the join every time.