Support-cover rank and homology obstruction for finite complexes
ProvedSmooth4Algebra.support_cover_homology_budgetLet be any field, let be a finite coordinate index set of size , and let be square matrices over indexed by . Put and suppose . Let satisfy .
Choose total-cover row and column sets , and separate row and column sets for . Assume the actual entries satisfy
With , the rank and actual vector-space homology obey
This converts independently checked support covers into a homology obstruction, allowing arbitrary coefficients and all cancellations. Rows and columns are distinct cover vertices even when they share a coordinate label. Neither nor is required to square to zero separately; only their sum must. Empty coordinate sets are included.
The statement does not certify any saved table enumeration, barcode catalogue, knot-Floer interpretation, link realization, disk or exotic sphere. Its role is the general algebraic lemma needed before such application certificates can be checked.
import Mathlib import Definitions.Def_Smooth4AlgebraHomology set_option autoImplicit false
theorem Smooth4Algebra.support_cover_homology_budget {K ι : Type*} [Field K] [Fintype ι]
(A B : Matrix ι ι K) (totalRows totalCols mixedRows mixedCols : Finset ι)
(p : ℕ) (h_base_rank : A.rank ≤ p)
(h_total : ∀ i j, i ∉ totalRows → j ∉ totalCols → (A + B) i j = 0)
(h_mixed : ∀ i j, i ∉ mixedRows → j ∉ mixedCols → B i j = 0)
(h_square : (A + B).mulVecLin.comp (A + B).mulVecLin = 0) :
(A + B).rank ≤ min (totalRows.card + totalCols.card)
(p + mixedRows.card + mixedCols.card) ∧
Fintype.card ι - 2 * min (totalRows.card + totalCols.card)
(p + mixedRows.card + mixedCols.card) ≤
Module.finrank K (Smooth4Algebra.Homology (A + B).mulVecLin) := by sorry