Documentation

LeanPool.MooreBound.DegreeDiameter.LowerBound

A big cell of even partial flags #

We construct a recursive affine cell inside the even partial flags. At one step the ambient space is K² × W. A linear map L : K² → W supplies its graph as the first retained two-dimensional subspace, and an even partial flag in W supplies all later retained subspaces. The graph recovers L; after L is known, inverse skew transport recovers the old partial flag. The resulting number of free scalar parameters satisfies d(k+1) = 2*(2*k+1) + d(k), hence d(k)=2*k².

Lean Pool port of wewantmoore commit d59bd80ea93fabb9faf769e790ab47692645e022. The port adds a namespace and adapts proofs to the current Mathlib APIs and repository style.

def MooreBound.DegreeDiameter.submoduleProdEquiv {K : Type u_1} {X : Type u_2} {Y : Type u_3} [DivisionRing K] [AddCommGroup X] [Module K X] [AddCommGroup Y] [Module K Y] (P : Submodule K X) (Q : Submodule K Y) :
↥(P.prod Q) ≃ₗ[K] ↥P × ↥Q

The evident equivalence between a product submodule and the product of the two submodule types.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def MooreBound.DegreeDiameter.prependTwoComplete {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] {m : ℕ} (F : CompleteFlag K Y m) :
    CompleteFlag K ((Fin 2 → K) × Y) (m + 2)

    Put the standard two-dimensional flag before a complete flag F.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def MooreBound.DegreeDiameter.shiftedRank (m : ℕ) (i : Fin (m + 1)) :
      Fin (m + 2 + 1)

      Shift a rank in the old flag past the two newly prepended ranks.

      Equations
      Instances For
        @[simp]
        theorem MooreBound.DegreeDiameter.prependTwoComplete_shifted {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] {m : ℕ} (F : CompleteFlag K Y m) (i : Fin (m + 1)) :
        def MooreBound.DegreeDiameter.skewEquiv {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] (L : (Fin 2 → K) →ₗ[K] Y) :
        ((Fin 2 → K) × Y) ≃ₗ[K] (Fin 2 → K) × Y

        The lower block-unitriangular equivalence (x,y) ↦ (x, y + L x).

        Equations
        Instances For
          @[simp]
          theorem MooreBound.DegreeDiameter.skewEquiv_apply {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] (L : (Fin 2 → K) →ₗ[K] Y) (z : (Fin 2 → K) × Y) :
          (skewEquiv L) z = (z.1, z.2 + L z.1)

          The image of the horizontal two-space under the skew equivalence is the graph of L.

          noncomputable def MooreBound.DegreeDiameter.skewPrependComplete {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] {m : ℕ} (L : (Fin 2 → K) →ₗ[K] Y) (F : CompleteFlag K Y m) :
          CompleteFlag K ((Fin 2 → K) × Y) (m + 2)

          Prepend two ranks and skew them so that rank two is graph L.

          Equations
          Instances For
            @[simp]
            theorem MooreBound.DegreeDiameter.skewPrependComplete_shifted {K : Type u_1} {Y : Type u_3} [DivisionRing K] [AddCommGroup Y] [Module K Y] {m : ℕ} (L : (Fin 2 → K) →ₗ[K] Y) (F : CompleteFlag K Y m) (i : Fin (m + 1)) :

            Equality of the new even parts recovers both the graph parameter and the old even part.

            noncomputable def MooreBound.DegreeDiameter.representativeComplete (K : Type u) [Field K] {V : Type u_1} [AddCommGroup V] [Module K V] {n parity : ℕ} (P : PartialFlag parity) :

            Choose a complete representative of a partial flag.

            Equations
            Instances For
              noncomputable def MooreBound.DegreeDiameter.bigCellFlag (K : Type u) [Field K] (k : ℕ) :

              The big-cell injection into even partial flags.

              Equations
              Instances For

                The 2*k²-dimensional affine cell gives the required vertex lower bound.