Why these theorems exist at all
In the previous guide you built the Sobolev space H^1: functions whose value and whose weak derivative are both square-integrable, measured by the Sobolev norm that adds up the L^2 sizes of u and of its gradient. That definition is generous on purpose — it lets in functions with corners and kinks that a classical derivative would reject. But generosity has a price: a member of H^1 is really an equivalence class, pinned down only up to a set of measure zero. Change u at a single point, or along a line, and it is the same element of H^1. So a fair worry is whether such a slippery object can ever behave like an ordinary function.
The three theorems of this guide are the reassuring answers. The Sobolev embedding theorem says that if you ask for enough derivatives relative to the dimension, your equivalence class secretly contains an honestly continuous representative — the wildness was an illusion. The trace theorem says that even though restricting an H^1 function to a measure-zero boundary should be meaningless, there is still a well-defined boundary value. And the Poincare inequality says that once you fix the boundary to zero, the size of u is entirely controlled by the size of its gradient. Each one converts a worry into a clean inequality, and together they are the toolkit that the next guides use to actually solve boundary-value problems.
Embedding: extra derivatives buy you smoothness
The Sobolev embedding theorem is a trade: spend derivatives, gain pointwise regularity. The slogan is that having k weak derivatives in L^p, on an n-dimensional domain, is good enough to guarantee an honest continuous (even classically differentiable) function provided k beats n/p. The cleanest case to memorize: in one dimension, H^1 functions are automatically continuous — full stop. That is why on a 1D interval you can talk about u(0) and u(1) without flinching. In higher dimensions the bar rises, because there is simply more room for a function to misbehave while still having a finite gradient integral.
There is a sharper, more useful sibling that the existence proofs lean on: the Rellich-Kondrachov theorem. Plain embedding tells you H^1 sits inside some L^p; Rellich-Kondrachov upgrades that to a compact embedding on a bounded domain. In plain words: any sequence that stays bounded in the H^1 norm has a subsequence that converges in L^2. A bounded gradient budget plus a bounded box leaves a function nowhere to escape to, so you can always extract something that settles down. That compactness is the engine that later lets us pluck an actual solution out of a minimizing or approximating sequence — without it, the direct methods of the next rung would stall.
Trace: giving a boundary value to a function defined nowhere
Now the puzzle that the trace theorem resolves. A boundary-value problem asks us to set u equal to some prescribed g along the edge of the region — Dirichlet data. But the boundary of an n-dimensional region is (n-1)-dimensional, hence has measure zero, and an H^1 function is only defined up to measure-zero changes. So literally restricting u to the boundary should be as meaningless as asking for the temperature at a single mathematical point of a fluid you only know on average. The trace theorem rescues the situation: there is a bounded linear trace operator that assigns to every H^1 function a genuine boundary value, and it agrees with ordinary restriction whenever u happens to be continuous.
The reason it works is continuity of the operator, not pointwise evaluation. The trace is defined first on nice (say smooth) functions by plain restriction, and then one proves the estimate that the L^2 size of the boundary values is bounded by the H^1 size of u inside. Because smooth functions are dense in H^1 and the map is bounded, it extends uniquely to all of H^1. The price is honesty about how much regularity you keep: the boundary value of an H^1 function does not live in the full H^1-on-the-boundary, it lands in the fractional space H^(1/2) — you lose 'half a derivative' crossing to the edge. That half-derivative bookkeeping matters when you later try to prescribe boundary data and ask which g are attainable.
This is exactly what gives meaning to the space H^1_0 you met last guide. H^1_0 is the closure of compactly-supported smooth functions in H^1, and with the trace operator in hand we can finally say what it is: precisely the H^1 functions whose trace is zero. 'Vanishing on the boundary' was a slogan before; now it is a rigorous statement about the kernel of a specific bounded operator. H^1_0 is the home of every problem with a homogeneous Dirichlet condition, and it is where the next inequality lives.
Poincare: the gradient controls the function
Here is the most quietly powerful of the three. The Poincare inequality says that on a bounded domain, for every u in H^1_0, the L^2 size of u itself is no bigger than a constant times the L^2 size of its gradient. In symbols, the integral of u^2 is at most C times the integral of |grad u|^2, where C depends only on the domain. Read it as a statement of confinement: if a function is pinned to zero all around the edge, it cannot grow large in the middle without paying for it in steep gradients. You cannot be both flat and tall inside a clamped drumhead.
Poincare (on H^1_0, bounded domain):
integral of u^2 <= C * integral of |grad u|^2
Consequence: the gradient norm alone,
||u||_grad = sqrt( integral of |grad u|^2 ),
is a genuine norm on H^1_0, equivalent to the full H^1 norm.The boundary condition is not optional — and this is the most common misconception. Poincare is FALSE without it: take u equal to a nonzero constant, then grad u is zero everywhere while u itself is not, so no constant C could ever work. Constants are exactly the functions that have no gradient yet plenty of size, and the zero-boundary requirement is precisely what forbids them. (There is a cousin, the Poincare-Wirtinger inequality, that allows nonzero boundaries by instead subtracting off the average of u — same spirit, it kills the constant a different way.) So the clean statement belongs to H^1_0, which is why the trace theorem of the last section had to come first.
How the three fit together — and where they go next
Step back and see the architecture. Embedding tells you a Sobolev function is secretly nicer than its definition suggests, so the theory is not vacuous. Trace tells you it has honest boundary values, so boundary conditions are meaningful. Poincare tells you that on H^1_0 the gradient energy alone measures the function, so the natural energy of a problem is a real, complete norm. Notice the order of dependence: trace defines H^1_0, and Poincare lives on H^1_0 — the theorems are stacked, each leaning on the one before.
So this guide quietly assembled the launchpad. With embedding guaranteeing solutions are not too wild, trace making boundary conditions legitimate, and Poincare promoting the gradient energy to a controlling norm, every ingredient is in place to write a boundary-value problem as a single inequality-friendly equation in a Hilbert space. The next guide does exactly that: it recasts an elliptic PDE as a weak formulation built on the bilinear form above, and the guide after that hands that form to Lax-Milgram. The near-miracles you proved here are about to do real work.