Representability over , excluded minors, matroid isomorphism
DefinitionTenChallenges_MatroidRepresentabilityThe definitions behind Challenge 2 of the Ten Challenges benchmark, on top of Mathlib's matroids (Matroid α, ground set , independence predicate) and finite fields.
- Representability. For a prime and , a matroid is -representable if there are a vector space over and a map such that for every set ,
Since sets meeting the complement of the ground set are never independent, such a vanishes outside . 2. Excluded minors. For a property of matroids on , is an excluded minor for if fails while every strict minor of (in Mathlib's minor order ) satisfies . 3. Isomorphism. Matroids on and on are isomorphic if some bijection carries a subset to an independent set of exactly when is independent in . 4. Bounded excluded-minor count. holds if there is a finite set of at most matroids on the ground type such that every finite matroid (on any ground type in the lowest universe) which is an excluded minor for -representability is isomorphic to a member of . Equivalently, the class of -representable matroids has at most excluded minors up to isomorphism.
These definitions are reusable for any excluded-minor statement about representable matroids.
Formalization Note. The field is Mathlib's GaloisField p m, which requires the instance Fact p.Prime. Linear independence is LinearIndepOn. The representatives in live on the fixed ground type so that can be a Finset.
import Mathlib.Combinatorics.Matroid.Minor.Order
import Mathlib.FieldTheory.Finite.GaloisField
import Mathlib.LinearAlgebra.LinearIndependent.Defs
open Matroid
variable {α β : Type*}
/-- `M` is representable over the Galois field `GF(pᵐ)`: some assignment of
vectors to the elements of `M` makes a set independent exactly when its vectors
are linearly independent. -/
def IsGFRepresentable (p m : ℕ) [Fact p.Prime] (M : Matroid α) : Prop :=
∃ (W : Type) (_ : AddCommGroup W) (_ : Module (GaloisField p m) W) (v : α → W),
∀ I, M.Indep I ↔ LinearIndepOn (GaloisField p m) v I
/-- `M` fails `P`, but every proper minor satisfies `P`. -/
def IsExcludedMinorFor (P : Matroid α → Prop) (M : Matroid α) : Prop :=
¬ P M ∧ ∀ N : Matroid α, N <m M → P N
/-- `M` and `N` are isomorphic: a bijection between their ground sets carries
independent sets exactly to independent sets. -/
def Matroid.IsIso (M : Matroid α) (N : Matroid β) : Prop :=
∃ e : M.E ≃ N.E, ∀ I : Set M.E,
M.Indep (Subtype.val '' I) ↔ N.Indep (Subtype.val '' (e '' I))
/-- Given a prime power `pᵐ` and a number `B`, the following says that the
class of `GF(pᵐ)`-representable matroids has at most `B` excluded minors, up
to isomorphism. Equivalently, there is a set `S` of at most `B` matroids that
contains, up to isomorphism, every excluded minor for `GF(pᵐ)`-representability. -/
def ExcludedMinorsAtMost (p m : ℕ) [Fact p.Prime] (B : ℕ) : Prop :=
∃ S : Finset (Matroid ℕ), S.card ≤ B ∧
∀ {β : Type} (M : Matroid β), M.Finite →
IsExcludedMinorFor (IsGFRepresentable p m) M →
∃ N ∈ S, N.IsIso M
Read-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back of the four definitions in Def_TenChallenges_MatroidRepresentability (namespace-free, with α, β arbitrary types).
Background used by all four definitions. A matroid on a type is Mathlib's Matroid α: a ground set (an arbitrary subset of : it may be infinite, and it may be empty), together with a predicate " is a base" and a predicate " is independent" on subsets of , subject to the axioms: a set is independent if and only if it is contained in some base; at least one base exists; bases satisfy the exchange property (for bases and there is with a base); for every , every independent subset of is contained in a maximal independent subset of ; every base is contained in . Consequently every independent set is a subset of , and is always independent. Infinite matroids are included.
1. . Data: natural numbers , a typeclass hypothesis that is prime, and a matroid on . Write for Mathlib's GaloisField p m, the splitting field of over : for this is the field with elements; for the polynomial is , so is the splitting field of the zero polynomial, i.e. (up to isomorphism) itself with elements, not a one-element field. The definition asserts:
there exist a type (in the lowest universe), an additive commutative group structure on , a -vector-space structure on , and a function (defined on every element of , not only on ), such that for every subset (not only subsets of )
"Linearly independent" is Mathlib's LinearIndepOn: the family of vectors indexed by the elements of is linearly independent, meaning the linear map sending a finitely supported coefficient function to is injective (no non-trivial finite linear combination vanishes). Because the family is indexed by and not by the set of vectors, two distinct in with make the family dependent, makes dependent, and the empty family is independent.
Edge cases: no bound is placed on the dimension of (it may be infinite-dimensional, or the zero space); no finiteness of is assumed. Since independent sets of lie inside , taking with shows that the condition forces for every . If is the zero space, the condition holds only when is the sole independent set of .
2. . Data: a property of matroids on and a matroid on . The definition asserts the conjunction
Here is Mathlib's strict minor relation IsStrictMinor: and not , where (Mathlib's IsMinor) means there exist sets (not required to be disjoint, nor to be contained in ) with
i.e. is obtained by contracting and then deleting . Deletion is the restriction of to (its independent sets are the -independent subsets of ); contraction is defined as , the dual of the deletion of from the dual matroid , and has ground set . Mathlib's documentation states that is equivalent to " is a minor of and ".
Edge cases: only matroids on the same type are considered as minors. If has no strict minors at all (for instance when , since any minor has ground set inside ), the second clause holds vacuously and is an excluded minor for exactly when . The definition does not require to be finite.
3. (declared here under the name Matroid.IsIso; this is a definition of this bundle, not a Mathlib notion). Data: a matroid on and a matroid on (possibly different types). The definition asserts:
there exists a bijection between the ground sets such that for every subset ,
Only subsets of the ground set are compared. The existence of the bijection forces and to have the same cardinality (both may be empty, or both infinite). Nothing else (e.g. equality of the underlying types) is required.
4. . Data: natural numbers , a typeclass hypothesis that is prime, and a natural number . The definition asserts:
there exists a finite set of matroids on the type (each member has ground set some subset of , with no restriction: possibly infinite, possibly empty) with
such that for every type (in the lowest universe) and every matroid on : if is finite, and is an excluded minor for the property "" in the sense of Definition 2 (that is: is not -representable in the sense of Definition 1, and every strict minor among matroids on is -representable), then
i.e. some admits a bijection carrying -independent sets exactly to -independent sets (Definition 3).
Edge cases: if then and the statement says that no finite excluded minor exists for any type . The members of are not required to be excluded minors themselves, to be finite, to be -representable or not, or to be pairwise non-isomorphic; may have fewer than elements. Excluded minors with infinite ground set are not constrained at all. The value is permitted, in which case is as explained in Definition 1.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.