Closure of a matroid 2026-10-24
The closure of a matroid adds all elements that fail to increase its rank of a matroid. It abstracts the linear span in a linear matroid. It is extensive, preserves inclusion, preserves the rank of a matroid, and is an idempotent function:
Proof. Extensivity follows from when . If and , submodularity of matroid rank gives . Thus an element in also lies in ; the case is automatic. Add the finitely many elements of one at a time. Inclusion preservation makes each addition have zero marginal increment of the rank of a matroid, proving rank preservation.
For completeness, nested subsets of equal rank of a matroid have the same closure of a matroid. If , apply submodularity of matroid rank to and to obtain ; monotonicity gives the reverse bound. The defining tests for membership in their closures are therefore equal. If , , so both closures contain . Apply this equal-rank result to to prove idempotence. In particular, every maximal matroid independent set of has the same closure of a matroid as .
Put . By distributivity, and . Consequently,
Here we used associativity, distributivity, and idempotence of set intersection and set union. The equality holds for every , so : is an idempotent function.
  • Both arrays have length capacity, with and .
  • The active keys elements(0 until used) are pairwise distinct.
  • For each active index , representatives(k) equals some active key elements(j).
  • Every such representative is fixed: if representatives(k) == elements(j), then representatives(j) == elements(j).
The abstraction function is
The last two conditions ensure each representative is a genuine member of its own block and that the abstract function is idempotent function. Cells beyond used are unconstrained and ignored. When used == 0, these conditions hold vacuously and the abstraction function yields the empty map. This is an explicit-key version of quick-find, rather than a parent-pointer disjoint-set forest.