What 'open mapping' even claims
Here is the statement, clean and surprisingly strong. If f is holomorphic and non-constant on a connected open set, then f is an open map: it takes every open set to an open set. Spelled out, that means if w_0 = f(z_0) is any value f hits, then f also hits every value w near w_0 — the image contains a whole little disk around w_0, not just w_0 sitting on the edge of nothing. The image of a region is itself a region, never something thinner. This is the open mapping theorem.
To feel how strong this is, notice how badly it fails for real functions. The map x -> x^2 from the real line is perfectly smooth, yet it sends the open interval (-1, 1) to the half-open interval [0, 1): the value 0 is in the image but no interval around 0 is, because nothing maps to negative numbers. A smooth real map can fold, can flatten, can pin an output value to the boundary of its range. A non-constant holomorphic map cannot do any of those things. The complex z^2 spreads the unit disk over a full neighborhood of every value, 0 included — the folding that traps real x^2 simply has nowhere to hide in two real dimensions.
The proof is just Rouche, watched at one point
Everything in this rung has been about counting solutions of f(z) = value, and openness is exactly a counting statement: we must show that for every target w near w_0, the equation f(z) = w has at least one solution near z_0. Fix a point z_0 with f(z_0) = w_0 and look at the shifted function g(z) = f(z) - w_0. It has a zero at z_0, say of order m, so g vanishes there but g is not identically zero. By the identity theorem, the zeros of a non-constant holomorphic function are isolated, so we can draw a small circle C around z_0 on which g has no other zeros at all.
Because g has no zeros on C, the modulus |g| has some positive minimum value on that circle — call it delta > 0. Now pick any target w with |w - w_0| < delta, and compare two functions on C: the original g(z) = f(z) - w_0, and the perturbed F(z) = f(z) - w. Their difference is F - g = w_0 - w, a constant of size less than delta. So on the boundary C, |F - g| < delta <= |g|. That last inequality is precisely the hypothesis of Rouche's theorem from the previous guide: when one function dominates the gap to another all along C, the two have the same number of zeros inside.
on the small circle C around z_0: g(z) = f(z) - w_0 has m zeros inside C (all at z_0) F(z) = f(z) - w differs from g by |F - g| = |w_0 - w| < delta <= |g| Rouche => F has the SAME m zeros inside C i.e. f(z) = w has m solutions near z_0, for EVERY w with |w - w_0| < delta
Read off the conclusion. The function g had m zeros inside C, so F = f - w has m zeros inside C too — meaning f(z) = w has m solutions near z_0, and in particular at least one. This holds for every w in the disk |w - w_0| < delta. So the image of our small neighborhood of z_0 contains a whole disk around w_0. That is the definition of f being open at z_0, and z_0 was arbitrary. The argument principle promised that nearby functions winding the same way have the same zero count; openness is just that promise cashed in for the one-parameter family f - w as the target w drifts.
The local degree: every value is hit exactly m times
Look again at the integer m that ran through the proof — it carries more information than mere non-emptiness. We showed f hits every nearby w exactly m times (counted with multiplicity) close to z_0, where m is the order of the zero of f(z) - w_0 at z_0. That m is the local degree of f at z_0: locally, f behaves like an m-to-1 covering, wrapping a neighborhood of z_0 m times around w_0. It is the same m that controls the argument principle count, now read at a single point rather than around a big contour.
When m = 1 — the typical case, where f'(z_0) is not zero — f is locally one-to-one, and that is the doorway to the inverse function theorem of the next guide. When m >= 2 the map genuinely folds: near a double zero of f - w_0 it behaves like w_0 + (z - z_0)^2, so points come in pairs and angles at z_0 get doubled. Take f(z) = z^3 at the origin: every value w near 0 has exactly three cube roots near 0, the local degree is 3, and a tiny wedge of angle theta at the origin opens into a wedge of angle 3 theta in the image. The map is still open — three solutions is at-least-one with room to spare — it just is not invertible right at that point.
Why this forces the maximum modulus principle
Here is the elegant payoff. The maximum modulus principle says a non-constant holomorphic function can never attain a maximum of |f| at an interior point of its domain — the biggest |f| always lives on the boundary. You may have seen it proved through the mean value property. The open mapping theorem makes it almost obvious, in one line of geometry.
- Suppose, for contradiction, that |f| attained an interior maximum at some point z_0 — so no point of the domain produces an output of larger modulus than w_0 = f(z_0).
- By the open mapping theorem, the image contains a whole open disk around w_0. In particular it contains points just outside the circle |w| = |w_0|, slightly farther from the origin.
- Those points have modulus strictly greater than |w_0|. So f does take a value of larger modulus — contradicting that w_0 was the maximum.
- The only escape is that f had no open image to begin with — i.e. f is constant. Hence a non-constant holomorphic function attains no interior maximum of modulus.
The picture is irresistible: if the image is always a fat open blob with no boundary points of its own captured inside the domain, then no output can be a farthest point — there is always a neighbor a hair farther out. The maximum modulus principle is just the open mapping theorem refusing to let any output sit on the rim of the image. The same logic, applied where f has no zeros, gives the minimum modulus statement: 1/f is then holomorphic and open, so |f| cannot attain an interior minimum either, unless that minimum is zero.
Honest fine print, and where it leads
Two cautions worth nailing down. First, open is not closed: holomorphic maps send open sets to open sets, but they need not send closed sets to closed sets, nor are they continuous in reverse. The image of a closed disk can be a closed region or something messier; the clean statement is about open domains only. Second, openness lives entirely in the complex plane as a target. It is a two-real-dimensional phenomenon — the reason it fails for x^2 on the real line is that the line has no 'sideways' room for the image to spread into. Remove a dimension and the folding reappears.
It is also worth pairing this with Liouville's theorem to see how rigid these maps are from two sides at once. Liouville says a bounded entire function is constant — the image cannot be too small (trapped in a bounded set). Open mapping says a non-constant image cannot be too thin (collapsed to lower dimension). Holomorphy squeezes a function from both directions: it must spread out, yet it must not be allowed to fly off to infinity, unless it gives up and becomes constant. No real-variable map is anywhere near this constrained.
Finally, this guide sets up the last rung of the staircase. We saw the local degree m sort the world in two: m = 1 means locally one-to-one, m >= 2 means a genuine fold. The next and final guide zeroes in on the friendly case m = 1, where f'(z_0) is nonzero, and shows that f then has a holomorphic local inverse — the complex inverse function theorem, the clean converse to the folding we just met. Openness guarantees solutions exist; local injectivity will guarantee the solution is unique and smooth, completing the local picture of how holomorphic maps behave.