Documentation

LeanPool.BrillNoetherGraphs.Bananas.Transmission.ChainBalanceArithmetic

Arithmetic balancing cuts for mixed-torsion chains #

The prefix genus of a chain is nondecreasing and its suffix genus is nonincreasing. For a chain with at least two positive-genus factors, the prefix is strictly smaller than the suffix at the first factor, while the reverse strict inequality holds at the last factor. The first crossing therefore gives a nonempty split satisfying ChainDominatesAtSplit.

This is the finite arithmetic step used in the proof of Corollary 6.16(2). Genus-zero factors are deliberately handled separately by ZeroGenusWedge: strict positivity is used here only to keep both sides of the balancing cut nonempty.

Monotonicity of prefix and suffix genus #

Prefix genus is monotone in the prefix length.

Suffix genus is antitone in the number of discarded factors.

The first crossing #

At the last factor, suffix genus is at most prefix genus.

theorem Bananas.first_prefix_lt_suffix_of_positive_tail (F next : KGeneralChainFactor) (rest : List KGeneralChainFactor) (hPositive : ∀ Q ∈ next :: rest, 0 < Q.marked.graph.genus) :
chainFactorGenus (List.take 1 (F :: next :: rest)) < chainFactorGenus (List.drop 0 (F :: next :: rest))

The first factor's prefix genus is strictly smaller than its suffix genus when a positive-genus tail is present.

The prefix and suffix genus functions have crossed at i.

Equations
Instances For
    noncomputable def Bananas.firstGenusCrossing (L : List KGeneralChainFactor) (hL : L ≠ []) :

    The first index at which suffix genus is no larger than prefix genus. It exists for every nonempty chain by the last-factor inequality.

    Equations
    Instances For

      Before the first crossing, prefix genus is no larger than suffix genus.

      From the first crossing onward, suffix genus remains no larger than prefix genus.

      theorem Bananas.firstGenusCrossing_pos_of_positive_tail (F next : KGeneralChainFactor) (rest : List KGeneralChainFactor) (hPositive : ∀ Q ∈ next :: rest, 0 < Q.marked.graph.genus) :
      0 < firstGenusCrossing (F :: next :: rest) ⋯

      Positivity forces the first crossing to occur after the initial factor.

      A nonempty dominating split #

      theorem Bananas.exists_chainDominatesAtSplit_of_positive (F next : KGeneralChainFactor) (rest : List KGeneralChainFactor) (hPositive : ∀ Q ∈ F :: next :: rest, 0 < Q.marked.graph.genus) :
      ∃ (leftHead : KGeneralChainFactor) (leftTail : List KGeneralChainFactor) (rightHead : KGeneralChainFactor) (rightTail : List KGeneralChainFactor), F :: next :: rest = leftHead :: leftTail ++ rightHead :: rightTail ∧ ChainDominatesAtSplit (leftHead :: leftTail) (rightHead :: rightTail)

      Every chain of at least two positive-genus factors admits a nonempty crossing split. The split is canonical: take the first genus crossing.

      theorem Bananas.exists_chainDominatesAtSplit_of_firstCrossing_pos (F next : KGeneralChainFactor) (rest : List KGeneralChainFactor) (hCrossingPos : 0 < firstGenusCrossing (F :: next :: rest) ⋯) :
      ∃ (leftHead : KGeneralChainFactor) (leftTail : List KGeneralChainFactor) (rightHead : KGeneralChainFactor) (rightTail : List KGeneralChainFactor), F :: next :: rest = leftHead :: leftTail ++ rightHead :: rightTail ∧ ChainDominatesAtSplit (leftHead :: leftTail) (rightHead :: rightTail)

      If the canonical first crossing is nonzero, it gives a nonempty dominating split without any positivity assumption on the individual factors. Positivity above is only one sufficient condition for the crossing to be nonzero; the zero-crossing case is handled separately in the final form of Corollary 6.16(2).

      theorem Bananas.exists_chainBalancedAtSplit_of_minBudget_of_positive (F next : KGeneralChainFactor) (rest : List KGeneralChainFactor) (hPositive : ∀ Q ∈ F :: next :: rest, 0 < Q.marked.graph.genus) (hMin : ChainMinBudget (F :: next :: rest)) :
      ∃ (leftHead : KGeneralChainFactor) (leftTail : List KGeneralChainFactor) (rightHead : KGeneralChainFactor) (rightTail : List KGeneralChainFactor), F :: next :: rest = leftHead :: leftTail ++ rightHead :: rightTail ∧ ChainBalancedAtSplit (leftHead :: leftTail) (rightHead :: rightTail)

      The paper's minimum budget therefore yields a nonempty balanced split for every chain of at least two positive-genus factors.

      Removing a zero-genus leading factor #

      If the first factor has genus zero, the paper's minimum-budget condition restricts to the remaining nonempty tail without change.

      If the total genus of a factor list is zero, every member has genus zero. Connectivity of each bundled factor supplies nonnegativity.