Rank-polynomial identity and saturation for actual finite graded complexes
ProvedSP4FiniteGradedComplex.rank_polynomialLet be a field, a finite set, and a finite-dimensional -vector space for each . Let be a permutation, let , and let
be linear maps satisfying . Suppose that a nonzero lowers the integer grade by one: . Grades need not distinguish the summands. Define the actual homology at the target of the -th block by
The image is regarded as a subspace of the kernel using the square-zero hypothesis. Let be the total linear map characterized by , and form the finite integer Laurent polynomials
Then , and
Moreover, saturation forces and for every .
This supplies the linear-algebraic rank-polynomial bridge needed before correction coefficients may be interpreted as ranks of actual differentials. The coefficients are ordinary integers in every field characteristic. The statement concerns finite permutation-indexed graded complexes; it asserts no Floer realization, common-coarsening theorem, geometric obstruction, or result about smooth four-spheres.
Formalization Note. The finite product is also the finite direct sum. The Laurent factor is represented by addition to the grade shift by . Homology is a genuine quotient of a kernel by the image of the incoming differential, not an assumed dimension. Repeated grades are permitted; the proof sums their contributions. No theorem embedding every bounded integer-indexed complex into this presentation is included.
import Definitions.Def_SP4FiniteGradedComplex set_option autoImplicit false open SP4FiniteGradedComplex SP4GradedLaurent
theorem SP4FiniteGradedComplex.rank_polynomial {K : Type*} [Field K] {I : Type*} [Fintype I]
{C : I → Type*} [∀ i, AddCommGroup (C i)] [∀ i, Module K (C i)]
[∀ i, FiniteDimensional K (C i)] (A : Data K I C) :
(totalD A).comp (totalD A) = 0 ∧
(∀ i, Module.finrank K (C (A.prev i)) = Module.finrank K (HomologyAtTarget A i) +
blockRank A i + blockRank A (A.prev i)) ∧
chainPolynomial A = homologyPolynomial A + tensorV (rankPolynomial A) ∧
mass (rankPolynomial A) = (Module.finrank K (LinearMap.range (totalD A)) : ℤ) ∧
(mass (chainPolynomial A) = mass (homologyPolynomial A) →
totalD A = 0 ∧ ∀ i, A.d i = 0) := by sorry