Blackadar opens his book with the history: “The first notions of K-theory were developed by Grothendieck in his work on the Riemann–Roch theorem in algebraic geometry. K-theory as a part of algebraic topology was begun by Atiyah and Hirzebruch [1961].” Rosenberg's Algebraic K-Theory and Its Applications (GTM 147) says that the Riemann–Roch theorem “motivated Grothendieck’s first work on K-theory”, and describes what the theorem does: it “gives a formula for the difference of the dimensions of two vector spaces”. Chapter 2 showed Zois' account that the letter K is Grothendieck's Klasse. CITED
A difference of two dimensions is what this book calls an index. Grothendieck built K0 to make such differences into elements of a group. Rosenberg: “Thus both involve a formal difference of two free modules”. CITED
In the held scan of Rosenberg the text layer never says “Roch”. The character recognition read it as “Roth” ten times, so a search for “Riemann-Roch” finds nothing and “Riemann-Roth” finds all ten. It is the Book XIV problem again (Book XIV ch 1 reads a scan by OCR): a name is only as reliable as the text layer it passes through. COMPUTED
Blackadar states the Atiyah–Singer index theorem, Inda(D) = Indt(D), and gives “Two special cases” that “illustrate the typical content of the Index Theorem in the odd- and even-dimensional cases respectively”. The odd case is the Toeplitz operator on the circle (Chapter 3). The even case is the ∂̄ operator of a holomorphic line bundle L on a compact Riemann surface of genus g: “The Index Theorem in this case gives the Riemann–Roch Theorem”, Inda(∂̄) = d − g + 1, “where d is the degree of L” (Ex. 24.1.2, p. 249). CITED
Dugger gives the classical form (Theorem 28.16): for any divisor D on a Riemann surface X,
He adds that “The first equality, with 1 + deg(D) − g, is the classical statement.” The left side is a kernel dimension minus a cokernel dimension, so it is an index. CITED
Cover the Riemann sphere ℂP¹ by U₀ (z finite) and U₁ (z ≠ 0). A section of the line bundle O(d) is a power series in z on U₀ (monomials zᵏ, k ≥ 0), a series in z⁻¹ times zᵈ on U₁ (k ≤ d), and anything on the overlap. Riemann–Roch becomes the index of one map, δ(f, g) = f − g. Its kernel is the global sections h⁰, the monomials allowed on both charts. Its cokernel is h¹, the monomials allowed on neither. Both source and target are infinite-dimensional, which is Chapter 2's ∞ − ∞, and the index is still a number. MODEL
| d | h⁰ = ker δ | h¹ = coker δ | index |
|---|---|---|---|
| -4 | 0 | 3 | -3 |
| -3 | 0 | 2 | -2 |
| -2 | 0 | 1 | -1 |
| -1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 2 | 0 | 2 |
| 2 | 3 | 0 | 3 |
| 3 | 4 | 0 | 4 |
| 4 | 5 | 0 | 5 |
The script runs d = −8 … 8 twice, once by counting monomials and once as an exact matrix on the window |k| ≤ 12. The two runs agree, and the index is d + 1 = deg D − g + 1 with g = 0 every time. h¹ vanishes exactly when d ≥ −1. COMPUTED
In Lean, RiemannRoch.ell_P1 proves the kernel side: the polynomials of degree ≤ d, which are the space L(d·∞), have dimension d + 1. It uses Mathlib's degreeLTEquiv. KERNEL-CHECKED
On the curve y² = f(x), with f of degree 2g + 1, the functions whose only pole is at the point at infinity are spanned by xᵃyᵇ (b = 0 or 1). x has a pole of order 2 and y one of order 2g + 1. Counting monomials with pole order ≤ n gives ℓ(n·∞). MODEL
For g = 0 to 4 and every n up to 30, the count equals n − g + 1 as soon as n ≥ 2g − 1, where ℓ(K − D) = 0 and Riemann–Roch predicts exactly that. Below that point the count falls short. The pole orders never reached are 1, 3, …, 2g − 1, and there are exactly g of them. These are the Weierstrass gaps, and the genus is the number of missing pole orders. COMPUTED
The pinned Mathlib has no Riemann–Roch theorem and no genus of a curve; the script checks both. Riemann–Roch and Noether's Toeplitz theorem are the even and odd cases of the same theorem, and both are formalised here only at the algebraic level: the shift's index in Chapters 1–2, and the polynomial count on the sphere in this chapter. WANTED