Critical-rank circuits: at the circuits of are exactly the minimal witnesses (Erdős 624)
ProvedErdos624.critical_rank_circuitsSetting: is a finite pool of inputs (to apply this to a sub-pool , take to be the subtype ), a set of colours, an arbitrary list map (e.g. ), , and with . A set is a hole if for all . (minimal witnesses of size ), , , , , . All of these are written out inline in the Lean statement (no custom definitions).
Theorem. Assume coverage and . Then for every : is a circuit of the family (i.e. is dependent and is independent for every ) iff , i.e. , and for all .
Context: Erdős Problem 624 asks whether , where is the least such that some with satisfies for all . This is an auxiliary finite statement from Sol's Round 12 Step 17 cross-review / resilience analysis of the two-track (PAIR) case. It does not settle Erdős Problem 624, PAIR or Step 17.
import Mathlib open Finset
namespace Erdos624
theorem critical_rank_circuits {U : Type*} [Fintype U] [DecidableEq U] {C : Type*} [DecidableEq C]
(L : Finset U → Finset C) (k : ℕ) (u : C) (hu : u ∉ L ∅)
(hcov : ∀ Y : Finset U, #Y = k → ∃ A ⊆ Y, u ∈ L A)
(hr : (Module.finrank (ZMod 2) ((U → ZMod 2) ⧸
Submodule.span (ZMod 2) {v : U → ZMod 2 | ∃ A : Finset U, 0 < #A ∧ #A ≤ k ∧ u ∈ L A ∧
(∀ A' ⊂ A, u ∉ L A') ∧ v = fun x => if x ∈ A then 1 else 0})) + 1 = k)
(A : Finset U) :
(¬ LinearIndepOn (ZMod 2) (fun x => (Submodule.span (ZMod 2) {v : U → ZMod 2 | ∃ A : Finset U, 0 < #A ∧ #A ≤ k ∧ u ∈ L A ∧
(∀ A' ⊂ A, u ∉ L A') ∧ v = fun x => if x ∈ A then 1 else 0}).mkQ (Pi.single x 1)) (A : Set U) ∧
∀ A' ⊂ A, LinearIndepOn (ZMod 2) (fun x => (Submodule.span (ZMod 2) {v : U → ZMod 2 | ∃ A : Finset U, 0 < #A ∧ #A ≤ k ∧ u ∈ L A ∧
(∀ A' ⊂ A, u ∉ L A') ∧ v = fun x => if x ∈ A then 1 else 0}).mkQ (Pi.single x 1)) (A' : Set U)) ↔
(0 < #A ∧ #A ≤ k ∧ u ∈ L A ∧ ∀ A' ⊂ A, u ∉ L A') := by sorry
end Erdos624