Bisection cut ranks of bilinear forms #
The bilinear form xᵀ R y on inputs of length n is the quadratic form of the n × n matrix
with R in the block whose rows are the left half and whose columns are the right half
(Correlation.bipartiteMatrix). Cut the coordinates into U and Uᶜ. The block of the polar
matrix with rows U and columns Uᶜ contains, on disjoint sets of columns, the block of R
with rows x ∩ U and columns y \ U, and the transpose of the block with rows x \ U and
columns y ∩ U. If every square block of R with k rows has rank at least k - t, then for
|U| = ⌊n/2⌋ the two blocks have total rank at least ⌊n/2⌋ - 1 - 2t.
theorem
Complexity.Correlation.ncard_preimage_add_ncard_preimage_le
{n m : ℕ}
{f g : Fin m → Fin n}
(hf : Function.Injective f)
(hg : Function.Injective g)
(hfg : Disjoint (Set.range f) (Set.range g))
(V : Set (Fin n))
:
Two injective relabellings with disjoint ranges pull back at most |V| elements of V.