[proofplan]
We prove the Poincare--Bendixson theorem by exploiting plane topology. The $\omega$-limit set of a bounded forward orbit is non-empty, compact, connected, and flow-invariant. At any non-equilibrium point of $\omega(x_0)$, the flow-box theorem provides a transversal arc. The Jordan Curve Theorem forces successive intersection coordinates along this transversal to be monotone. Monotonicity plus boundedness gives convergence to a fixed point on the transversal, whose orbit is periodic. The Jordan Curve Theorem then shows $\omega(x_0)$ equals this periodic orbit.
[/proofplan]
[step:Establish the basic properties of $\omega(x_0)$]
Since $\gamma^+(x_0) \subseteq K$ and $K$ is compact, the $\omega$-limit set $\omega(x_0) = \bigcap_{t \ge 0} \overline{\gamma^+(x_0) \cap \{s \ge t\}}$ is non-empty, compact, connected, and invariant under the flow (both forward and backward). These are standard properties of $\omega$-limit sets of bounded orbits in continuous dynamical systems.
[/step]
[step:Construct a transversal arc at a non-equilibrium point of $\omega(x_0)$]
Let $p \in \omega(x_0)$. Since $p$ is not an equilibrium by hypothesis (PB2), $f(p) \neq 0$. Construct a short smooth arc $\Sigma$ through $p$ that is transverse to the flow: take $\Sigma$ as a segment perpendicular to $f(p)$, parametrised by arc-length $s \in (-\varepsilon, \varepsilon)$ with $p$ at $s = 0$. By the flow-box theorem, trajectories near $p$ cross $\Sigma$ transversally in a definite direction.
[/step]
[step:Prove the successive intersection coordinates on $\Sigma$ are monotone via the Jordan Curve Theorem]
Since $p \in \omega(x_0)$, the forward orbit of $x_0$ returns to $\Sigma$ infinitely often. Let $s_1, s_2, s_3, \ldots$ be the successive intersection coordinates.
Suppose $s_1 < s_2$. The arc of $\gamma^+(x_0)$ between the first and second crossings, together with the segment of $\Sigma$ between $s_1$ and $s_2$, forms a Jordan curve $J$ in $\mathbb{R}^2$. By the Jordan Curve Theorem, $J$ separates $\mathbb{R}^2$ into two connected components. The flow is transverse to $\Sigma$ (crossing in the same direction each time), so the orbit cannot "jump over" $J$ without crossing it. The next intersection $s_3$ must therefore satisfy $s_3 > s_2$: the orbit is trapped on the side of $J$ where coordinates increase. By induction, the sequence $\{s_n\}$ is strictly increasing. The same argument shows that if $s_1 > s_2$, the sequence is strictly decreasing.
[guided]
The Jordan Curve Theorem is the essential two-dimensional ingredient. In three or more dimensions, a closed curve does not separate space, and trajectories can wind around it -- this is why the Poincare--Bendixson theorem fails in higher dimensions, where chaotic behaviour becomes possible.
The monotonicity argument works as follows. Suppose $s_1 < s_2$. The trajectory arc from the first crossing (at coordinate $s_1$) to the second (at $s_2$), together with the segment $[s_1, s_2]$ on $\Sigma$, forms a simple closed curve $J$ in $\mathbb{R}^2$. By the Jordan Curve Theorem, $J$ separates $\mathbb{R}^2$ into two connected components (interior and exterior).
The orbit, continuing forward from $s_2$, must stay on one side of $J$. It cannot cross $J$ because:
- The flow is transverse to $\Sigma$, so the orbit can only re-enter $\Sigma$ at a new coordinate (it crosses in the same direction each time).
- The trajectory segment of $J$ cannot be re-crossed by uniqueness of solutions to the ODE.
Therefore the next intersection $s_3$ satisfies $s_3 > s_2$ (the orbit is trapped on the side where coordinates increase). By induction, the entire sequence $\{s_n\}$ is strictly monotone.
[/guided]
[/step]
[step:Show the intersection coordinates converge to a point in $\omega(x_0)$]
The sequence $\{s_n\}$ is monotone and bounded (since $\Sigma$ has finite length), so $s_n \to s^* \in [-\varepsilon, \varepsilon]$. The point $q \in \Sigma$ with coordinate $s^*$ belongs to $\omega(x_0)$: it is the limit of intersection points of the orbit with $\Sigma$, each occurring at arbitrarily late times.
[/step]
[step:Prove the orbit through the limit point $q$ is periodic]
Since $q \in \omega(x_0)$ and $\omega(x_0)$ is flow-invariant, the full orbit through $q$ lies in $\omega(x_0)$. This orbit also crosses $\Sigma$, and by the same monotonicity argument applied to the orbit of $q$ itself, its successive intersection coordinates form a monotone bounded sequence converging to some limit. But the orbit of $q$ must return to $\Sigma$ at exactly $s^*$ (if it returned at any other coordinate, the original sequence $\{s_n\}$ could not converge to $s^*$). Therefore the orbit through $q$ is periodic with some minimal period $T > 0$.
[/step]
[step:Show $\omega(x_0)$ equals the periodic orbit]
Let $\Gamma = \{\phi(t) : t \in [0, T)\}$ be the periodic orbit through $q$. We have $\Gamma \subseteq \omega(x_0)$. Since $\Gamma$ is a simple closed curve (a Jordan curve), it separates $\mathbb{R}^2$ into interior and exterior. The flow cannot cross $\Gamma$ (by uniqueness of solutions), so any additional point of $\omega(x_0) \setminus \Gamma$ would be trapped in the interior or exterior. But $\omega(x_0)$ is connected, so it cannot have points on both sides. A flow-box argument near each point of $\Gamma$ shows that no orbit in $\omega(x_0)$ can asymptotically approach $\Gamma$ from one side without coinciding with it (this would violate the transversality of the flow to suitably chosen local cross-sections). Hence $\omega(x_0) = \Gamma$.
[/step]
[step:Describe the general case when equilibria are permitted]
When equilibria are allowed in $\omega(x_0)$, the same transversal argument applies at every non-equilibrium point $p \in \omega(x_0)$, showing that the orbit through $p$ connects equilibria in $\omega(x_0)$ as $t \to \pm\infty$. The compactness and connectedness of $\omega(x_0)$ force it to be one of: a single equilibrium point, a periodic orbit (if no equilibria are present), or a polycycle consisting of finitely many equilibria connected by heteroclinic orbits.
[/step]