(R/γ)² is exact, dimension-free, and holds for every separable dataset. Nothing speculative here — this is bedrock.
Points are drawn separable by a hidden line, with a clear band of width γ (the margin) on either side. The perceptron starts at w = 0 and only moves when it's wrong: w ← w + y·x. Each correction is a "mistake." The promise: total mistakes ≤ (R / γ)² where R is the radius of the data. Shrink the margin and the bound balloons — but the count never breaks it.
Proven: on linearly separable data the perceptron stops after ≤ (R/γ)² updates, finding some separating line. The proof is two inequalities: each update grows w·w* by at least γ (progress), while |w|² grows by at most R² (it can't run away). Squeeze them together and the mistake count is capped. That's the whole proof — two lines.
The catch (still honest, still proven): the promise is only for separable data. If no line splits the points, the perceptron never converges — it cycles forever, and which line you'd "stop" on is arbitrary. It also gives you a separator, not the best one (that's the max-margin / SVM story, a different guarantee). The theorem is strong precisely because it claims something narrow and delivers it completely.