Lax49.MixedMinorNumber

Mixed minor number

concepts/Lax49/MixedMinorNumber.lean · lax-49

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Definition

    A k-division of FinnFin n partitions it into k nonempty consecutive intervals in increasing order. A row division and a column division split a matrix into a grid of k² cells. A cell is vertical if each of its columns is constant, horizontal if each of its rows is constant, and mixed if it is neither. The matrix has a k-mixed minor if some pair of row and column k-divisions makes all k² cells mixed, and its mixed number is the largest such k.

    An ordering of a finite simple graph's vertices turns its adjacency relation into such a matrix. The mixed minor number of the graph is the least mixed number of this matrix over all vertex orderings.

    Lean source view on GitHub

    1import Mathlib.Combinatorics.SimpleGraph.Basic
    2import Mathlib.Data.Nat.Lattice
    3
    4/-!
    5---
    6title: Mixed minor number
    7type: definition
    8---
    9A *k*-division of `Fin n` partitions it into *k* nonempty
    10consecutive intervals in increasing order. A row division and a column
    11division split a matrix into a grid of *k*² cells. A cell is vertical if
    12each of its columns is constant, horizontal if each of its rows is constant,
    13and mixed if it is neither. The matrix has a *k*-mixed minor if some pair of
    14row and column *k*-divisions makes all *k*² cells mixed, and its mixed
    15number is the largest such *k*.
    16
    17An ordering of a finite simple graph's vertices turns its adjacency relation
    18into such a matrix. The mixed minor number of the graph is the least mixed
    19number of this matrix over all vertex orderings.
    20
    21# Formalization notes
    22
    23Disjointness and convexity of the parts of a `Division` follow from the
    24ordering and covering fields, so the structure does not carry them. Matrix
    25entries are truth values, so constancy of a cell's rows or columns is
    26propositional equivalence. A *k*-division of `Fin n` forces *k* ≤ *n*, so the
    27supremum in `matrixMixedNumber` ranges over a bounded set; it takes the value
    280 if the matrix has no mixed minor at all. Vertex
    29orderings always exist, so the infimum in `mixedMinorNumber` ranges over a
    30nonempty set.
    31-/
    32
    33namespace Lax49.MixedMinorNumber
    34
    35/-- A division of `Fin n` into `k` nonempty consecutive intervals in
    36increasing order. Disjointness and convexity of the parts follow from
    37`part_ordered` and `part_cover`. -/
    38structure Division (n k : ℕ) where
    39 /-- The `i`-th part of the division. -/
    40 part : Fin k → Finset (Fin n)
    41 /-- Every part is nonempty. -/
    42 part_nonempty : ∀ i, (part i).Nonempty
    43 /-- The parts cover the whole interval. -/
    44 part_cover : ∀ x : Fin n, ∃ i, x ∈ part i
    45 /-- Earlier-indexed parts lie strictly before later-indexed parts. -/
    46 part_ordered :
    47 ∀ ⦃i j : Fin k⦄, i < j →
    48 ∀ ⦃a b : Fin n⦄, a ∈ part i → b ∈ part j → a < b
    49
    50/-- A matrix cell is vertical when each column is constant within the row
    51part. -/
    52def cellVertical {n m k : ℕ} (M : Fin n → Fin m → Prop)
    53 (R : Division n k) (C : Division m k) (i j : Fin k) : Prop :=
    54 ∀ ⦃r₁ r₂ : Fin n⦄, r₁ ∈ R.part i → r₂ ∈ R.part i →
    55 ∀ ⦃c : Fin m⦄, c ∈ C.part j → (M r₁ c ↔ M r₂ c)
    56
    57/-- A matrix cell is horizontal when each row is constant within the column
    58part. -/
    59def cellHorizontal {n m k : ℕ} (M : Fin n → Fin m → Prop)
    60 (R : Division n k) (C : Division m k) (i j : Fin k) : Prop :=
    61 ∀ ⦃r : Fin n⦄, r ∈ R.part i →
    62 ∀ ⦃c₁ c₂ : Fin m⦄, c₁ ∈ C.part j → c₂ ∈ C.part j →
    63 (M r c₁ ↔ M r c₂)
    64
    65/-- A matrix cell is mixed when it is neither vertical nor horizontal. -/
    66def cellMixed {n m k : ℕ} (M : Fin n → Fin m → Prop)
    67 (R : Division n k) (C : Division m k) (i j : Fin k) : Prop :=
    68 ¬ cellVertical M R C i j ∧ ¬ cellHorizontal M R C i j
    69
    70/-- A matrix has a `k`-mixed minor if suitable row and column `k`-divisions
    71make every induced cell mixed. -/
    72def HasMixedMinor {n m : ℕ} (M : Fin n → Fin m → Prop) (k : ℕ) : Prop :=
    73 ∃ R : Division n k, ∃ C : Division m k, ∀ i j : Fin k, cellMixed M R C i j
    74
    75/-- The largest order of a mixed minor of a matrix. -/
    76noncomputable def matrixMixedNumber {n m : ℕ}
    77 (M : Fin n → Fin m → Prop) : ℕ :=
    78 sSup {k | HasMixedMinor M k}
    79
    80/-- The adjacency matrix of a graph in a chosen vertex order. -/
    81def orderedAdjacency {V : Type} {n : ℕ}
    82 (G : SimpleGraph V) (e : Fin n ≃ V) : Fin n → Fin n → Prop :=
    83 fun i j => G.Adj (e i) (e j)
    84
    85/-- The mixed minor number of a finite simple graph: the least mixed number
    86of its adjacency matrix over all vertex orderings. -/
    87noncomputable def mixedMinorNumber {V : Type} [Fintype V] [DecidableEq V]
    88 (G : SimpleGraph V) : ℕ :=
    89 sInf (Set.range fun e : Fin (Fintype.card V) ≃ V =>
    90 matrixMixedNumber (orderedAdjacency G e))
    91
    92end Lax49.MixedMinorNumber
    93

    Formalization notes

    Disjointness and convexity of the parts of a DivisionDivision follow from the ordering and covering fields, so the structure does not carry them. Matrix entries are truth values, so constancy of a cell's rows or columns is propositional equivalence. A k-division of FinnFin n forces kn, so the supremum in matrixMixedNumbermatrixMixedNumber ranges over a bounded set; it takes the value 0 if the matrix has no mixed minor at all. Vertex orderings always exist, so the infimum in mixedMinorNumbermixedMinorNumber ranges over a nonempty set.

    Community review

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.

    0 comments

    Loading discussion…