Documentation

LeanPool.BrillNoetherGraphs.LowGenus.ConfigurationTwo

Atanasov--Ranganathan configuration 2, generic in the core #

Configuration 2 of Atanasov--Ranganathan, Proposition 5.1, is the local picture at a chip-free core vertex all three of whose slots end on a chip vertex -- a tripod centre. Interpolate the same negative height along the three arms, choosing that height to be the shortest arm length. Every arm consumes at most its endpoint chip, and a shortest arm delivers a chip to the centre.

This file states that picture once, as a ConfigTwo bundle of the lookup data together with the incidence facts a row must check, and proves the centre's residual-effectivity and reach lemmas from those facts alone. A row supplies the tables and discharges the Prop fields; nothing else.

Unlike ConfigThree, the centres are named by an explicit predicate isCenter rather than "every chip-free vertex". Rows 11 and 12 combine several local pictures, so a row may declare only some of its chip-free vertices to be tripod centres and cover the rest by other means; the conclusions here are stated one centre at a time so that several instances compose. A row all of whose chip-free vertices are tripod centres gets the whole closed-orthant construction from closedConstruction.

The generic slot arithmetic (Ends, sum_three, slotTerm, slotValue, armContribution, endpointPair_arm) is shared with configuration 3 and currently lives in ConfigurationThree.lean; that is why this file imports it. Neither structure mentions the other.

The indicator of "the chip at v sits in the contracted class of r".

Equations
Instances For
    theorem AtanasovRanganathan.ConfigurationTwo.min_three_eq_one (a b c : ℕ) :
    min a (min b c) = a ∨ min a (min b c) = b ∨ min a (min b c) = c

    The minimum of three naturals is one of them.

    The lookup data of one AR configuration-2 family, together with exactly the incidence facts the calculation uses.

    The four chips carry the divisor. Each declared centre v is chip free, its three slots firstArm v, secondArm v, thirdArm v end on the chips firstChip v, secondChip v, thirdChip v, and spareChip v names the fourth chip, which the centre does not touch.

    Instances For
      @[reducible, inline]

      The four displayed chip vertices.

      Equations
      Instances For
        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.chip_ne_center (cfg : ConfigTwo) {chip center : Fin 8} (hChip : cfg.IsChip chip) (hCenter : cfg.isCenter center = true) :
        chip ≠ center

        The displayed divisor #

        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.one_le_divisor_of_chip_rep_eq (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) {chip center : Fin 8} (hChip : cfg.IsChip chip) (hEq : d.rep chip = d.rep center) :
        1 ≤ cfg.divisor d (d.coreVertex center)
        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.length_pos_of_incident_chip (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) {center chip : Fin 8} {edge : Fin 12} (hChip : cfg.IsChip chip) (hEnds : ConfigurationThree.Ends d.core edge center chip) (hZero : cfg.divisor d (d.coreVertex center) = 0) :
        0 < d.length edge

        A slot from a chip-free class to a chip cannot have collapsed.

        Incidence facts transported to a degenerate spec #

        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.ends_firstArm (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) :
        ConfigurationThree.Ends d.core (cfg.firstArm center) center (cfg.firstChip center)
        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.ends_secondArm (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) :
        ConfigurationThree.Ends d.core (cfg.secondArm center) center (cfg.secondChip center)
        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.ends_thirdArm (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) :
        ConfigurationThree.Ends d.core (cfg.thirdArm center) center (cfg.thirdChip center)
        theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.not_incident_of_ne (cfg : ConfigTwo) {center : Fin 8} (hCenter : cfg.isCenter center = true) {e : Fin 12} (h1 : e ≠ cfg.firstArm center) (h2 : e ≠ cfg.secondArm center) (h3 : e ≠ cfg.thirdArm center) :
        cfg.core.tail e ≠ center ∧ cfg.core.head e ≠ center

        The interpolation height #

        The shortest of the three arms at a centre.

        Equations
        Instances For
          theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.tripodHeight_pos (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hZero : cfg.divisor d (d.coreVertex center) = 0) :
          0 < cfg.tripodHeight d center

          Which core classes a tripod centre can meet #

          theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.adjacent_chip (cfg : ConfigTwo) {l : List (Fin 12)} {center v : Fin 8} (hCenter : cfg.isCenter center = true) (hAdjacent : Utilities.Certificate.ContractionForestCensusGeneral.AdjInList cfg.core l center v) :
          cfg.IsChip v

          Every neighbour of a tripod centre is a chip vertex.

          theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.reach_eq_center_of_no_chip (cfg : ConfigTwo) {F : Finset (Fin 12)} {center v : Fin 8} (hCenter : cfg.isCenter center = true) (hNoChip : ∀ (s : Fin 8), cfg.IsChip s → ¬Utilities.Certificate.ContractionForestCensusGeneral.ReachIn cfg.core F center s) (hReach : Utilities.Certificate.ContractionForestCensusGeneral.ReachIn cfg.core F center v) :
          v = center

          A zero-edge class containing a chip-free tripod centre is a singleton.

          theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.singleton_class_of_divisor_zero (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (F : Finset (Fin 12)) (hRepReach : ∀ (x y : Fin 8), d.rep x = d.rep y ↔ Utilities.Certificate.ContractionForestCensusGeneral.ReachIn cfg.core F x y) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hZero : cfg.divisor d (d.coreVertex center) = 0) (v : Fin 8) :
          d.rep v = d.rep center ↔ v = center

          A zero-divisor class at a tripod centre is that centre alone.

          The interpolated potential #

          @[reducible, inline]

          The closed-face core potential for configuration 2: the tripod height on the centre's class and zero elsewhere.

          Equations
          Instances For
            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.rep_chip_ne_center (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (center : Fin 8) {chip : Fin 8} (hChip : cfg.IsChip chip) (hCenter : cfg.isCenter center = true) (hSingleton : ∀ (v : Fin 8), d.rep v = d.rep center ↔ v = center) :
            d.rep chip ≠ d.rep center

            The chip delivered to the centre #

            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.endpointContribution_eq_center_slots (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) (potential : Fin 8 → ℤ) {center : Fin 8} (hCenter : cfg.isCenter center = true) :
            ConfigurationCommon.endpointContribution d potential center = ConfigurationThree.slotTerm d potential (cfg.firstArm center) center + ConfigurationThree.slotTerm d potential (cfg.secondArm center) center + ConfigurationThree.slotTerm d potential (cfg.thirdArm center) center
            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.endpointContribution_center_eq_arms (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hSingleton : ∀ (v : Fin 8), d.rep v = d.rep center ↔ v = center) :
            ConfigurationCommon.endpointContribution d (cfg.centerPotential d center) center = ConfigurationThree.armContribution d center (cfg.firstArm center) (cfg.tripodHeight d center) + ConfigurationThree.armContribution d center (cfg.secondArm center) (cfg.tripodHeight d center) + ConfigurationThree.armContribution d center (cfg.thirdArm center) (cfg.tripodHeight d center)
            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.endpointContribution_center_ge_one (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hZero : cfg.divisor d (d.coreVertex center) = 0) (hSingleton : ∀ (v : Fin 8), d.rep v = d.rep center ↔ v = center) :

            The Laplacian away from the fired class #

            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.coreRise_eq_zero_of_not_center (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {potential : Fin 8 → ℤ} {center : Fin 8} (hCenter : cfg.isCenter center = true) (hSupport : ∀ (v : Fin 8), v ≠ center → potential v = 0) {e : Fin 12} (h1 : e ≠ cfg.firstArm center) (h2 : e ≠ cfg.secondArm center) (h3 : e ≠ cfg.thirdArm center) :
            d.coreRise potential e = 0
            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.prin_center_nonTarget_eq (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hZero : cfg.divisor d (d.coreVertex center) = 0) (hSingleton : ∀ (v : Fin 8), d.rep v = d.rep center ↔ v = center) (r : Fin 8) (hNotTarget : d.rep r ≠ d.rep center) :
            (prin d.graph) (d.interpolatedScript (cfg.centerPotential d center)) (d.coreVertex r) = -chipInd d r (cfg.firstChip center) - chipInd d r (cfg.secondChip center) - chipInd d r (cfg.thirdChip center)

            Residual effectivity and reach #

            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.residual_effective_of_coreVertex (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) {potential : Fin 8 → ℤ} (hInv : d.RepInvariant potential) (center : Fin 8) (hCoreCase : ∀ (r : Fin 8), 0 ≤ cfg.divisor d (d.coreVertex r) - oneChip (d.coreVertex center) (d.coreVertex r) + (prin d.graph) (d.interpolatedScript potential) (d.coreVertex r)) :
            effective (cfg.divisor d - oneChip (d.coreVertex center) + (prin d.graph) (d.interpolatedScript potential))
            theorem AtanasovRanganathan.ConfigurationTwo.ConfigTwo.center_residual_effective (cfg : ConfigTwo) (d : Utilities.Certificate.DegenerateSpec.DegSpec 8 12) (hCore : d.core = cfg.core) {center : Fin 8} (hCenter : cfg.isCenter center = true) (hZero : cfg.divisor d (d.coreVertex center) = 0) (hSingleton : ∀ (v : Fin 8), d.rep v = d.rep center ↔ v = center) :

            Configuration 2 at one centre. Firing the tripod script leaves an effective divisor after removing one chip from the centre's class.

            Configuration 2 reaches its centre. This is the statement a row consumes, one centre at a time, so that several local pictures compose.

            Configuration 2 on a closed face. A row every one of whose chip-free vertices is a tripod centre gets the whole closed-orthant AR construction.