Soundness of the free-locus certificate #
One direction of the free-locus test: a flip-poly pencil has corank ≤ m at every point of
size m, so corank > m at some point of size m certifies "not flip-poly".
Over a field K, corank A = card ι - rank A for a square matrix A : Matrix ι ι K.
Main results #
rank_add_rank_le_fromBlocks:rank A + rank D ≤ rank (fromBlocks A B 0 D);corank_fromBlocks_le:corank (fromBlocks A B 0 D) ≤ corank A + corank D.rank_kronecker_one:rank (A ⊗ₖ 1_m) = m * rank A;corank_kronecker_one.corank_unit_sub_mul_le:corank (U - P * Q) ≤ mforUinvertible andPof widthm;corank_one_sub_nil_sub_mul_le: the same withU = 1 - N,Nnilpotent.TriBounded,Cert: block upper-triangular matrices with one free diagonal blockBandkfurther diagonal blocks of corank≤ m;cert_corank:corank M - k * m ≤ corank B.
The general rank facts (subadditivity, rank–nullity, block-triangular and Kronecker bounds)
are imported from Formalizations.LinearAlgebra.Matrix.Rank and
Formalizations.LinearAlgebra.Matrix.Rank.Kronecker; this file restates the two it lists
under Main results in terms of corank.
inductive
FreeLocusCertificate.TriBounded
{K : Type u_1}
[Field K]
(c : ℕ)
(ι : Type)
[Fintype ι]
[DecidableEq ι]
:
Block upper-triangular matrices whose k diagonal blocks (k ≥ 1) all have corank ≤ c.
- single {K : Type u_1} [Field K] {c : ℕ} {ι : Type} [Fintype ι] [DecidableEq ι] (D : Matrix ι ι K) (h : corank D ≤ c) : TriBounded c ι D 1
- cons {K : Type u_1} [Field K] {c : ℕ} {ι κ : Type} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (D₁ : Matrix ι ι K) (Y : Matrix ι κ K) (D₂ : Matrix κ κ K) (k : ℕ) (h : corank D₁ ≤ c) (hD : TriBounded c κ D₂ k) : TriBounded c (ι ⊕ κ) (Matrix.fromBlocks D₁ Y 0 D₂) (k + 1)
Instances For
theorem
FreeLocusCertificate.TriBounded.corank_le
{K : Type u_1}
[Field K]
{c : ℕ}
{ι : Type}
[Fintype ι]
[DecidableEq ι]
{D : Matrix ι ι K}
{k : ℕ}
(h : TriBounded c ι D k)
:
inductive
FreeLocusCertificate.Cert
{K : Type u_1}
[Field K]
(c : ℕ)
{β : Type}
[Fintype β]
[DecidableEq β]
(B : Matrix β β K)
(ι : Type)
[Fintype ι]
[DecidableEq ι]
:
Block upper-triangular matrices with one free diagonal block B (anywhere on the diagonal)
and k further diagonal blocks of corank ≤ c each.
- self {K : Type u_1} [Field K] {c : ℕ} {β : Type} [Fintype β] [DecidableEq β] {B : Matrix β β K} : Cert c B β B 0
- here {K : Type u_1} [Field K] {c : ℕ} {β : Type} [Fintype β] [DecidableEq β] {B : Matrix β β K} {κ : Type} [Fintype κ] [DecidableEq κ] (Y : Matrix β κ K) (D : Matrix κ κ K) (k : ℕ) (hD : TriBounded c κ D k) : Cert c B (β ⊕ κ) (Matrix.fromBlocks B Y 0 D) k
- there {K : Type u_1} [Field K] {c : ℕ} {β : Type} [Fintype β] [DecidableEq β] {B : Matrix β β K} {ι κ : Type} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (D₁ : Matrix ι ι K) (Y : Matrix ι κ K) (M' : Matrix κ κ K) (k : ℕ) (h : corank D₁ ≤ c) (hM : Cert c B κ M' k) : Cert c B (ι ⊕ κ) (Matrix.fromBlocks D₁ Y 0 M') (k + 1)
Instances For
theorem
FreeLocusCertificate.cert_corank
{K : Type u_1}
[Field K]
{c : ℕ}
{β : Type}
[Fintype β]
[DecidableEq β]
{B : Matrix β β K}
{ι : Type}
[Fintype ι]
[DecidableEq ι]
{M : Matrix ι ι K}
{k : ℕ}
(h : Cert c B ι M k)
: