Rank--nullity at an exact middle term #
LinearMap.finrank_range_add_finrank_ker splits the dimension of the source of a linear map
into rank and nullity. At the middle term of an exact pair A → B → C the kernel of the
second map is the range of the first, so the dimension of B is the sum of the two ranks
around it. Both alternating-sum arguments, the bounded one in Algebra/Exact/Sequence.lean
and the ℤ-indexed one in Algebra/Homology/EulerCharacteristic.lean, consume this.
k is a division ring, not a field: that is what LinearMap.finrank_range_add_finrank_ker
asks for, and commutativity is used nowhere.
Rank--nullity at an exact middle term: an exact A → B → C splits dim B into the two
ranks around it.
The middle term of an exact pair between finite modules is finite.
B is generated by a generating set of the kernel of g, which is the range of f and so
finite, together with lifts of a generating set of the range of g, a submodule of the finite
C. This is the step a dévissage takes at every degree: Hⁱ(G) → Hⁱ(F) → Hⁱ⁺¹(K) with the
outer terms finite-dimensional.