Documentation

LeanPool.Feige.InsertionAlgebra

Algebraic bookkeeping for chain insertion #

This file isolates the finite mass calculations in the chain-insertion proof of Theorem 2.1. The analytic content of the exponential transfer step is kept separate: once that step supplies the sign of η, the results below identify the new chain mixture as an upward transfer inside each pair {Cⱼ, Hⱼ}.

def Feige.insertionWeight (θ : ) (j : ) :

The insertion-position weight.

Equations
Instances For
    def Feige.insertedLowerMass (B w θ : ) (j : ) :

    Averaged mass placed at the lower state Cⱼ.

    Equations
    Instances For
      def Feige.insertedUpperMass (A θ : ) (j : ) :

      Averaged mass placed at the upper state Hⱼ.

      Equations
      Instances For
        def Feige.independentLowerMass (F : ) (p : ) (j : ) :

        Mass at Cⱼ before replacing the independent Bernoulli reveal.

        Equations
        Instances For
          def Feige.independentUpperMass (F : ) (p : ) (j : ) :

          Mass at Hⱼ before replacing the independent Bernoulli reveal.

          Equations
          Instances For
            def Feige.lowerMassForInsertion (B w : ) (J j : ) :

            Mass assigned to Cⱼ by the chain whose insertion rank is J. The state is absent for J < j, has the bridge mass wⱼ for J = j, and has the ordinary B-chain mass for j < J.

            Equations
            Instances For
              def Feige.upperMassForInsertion (A : ) (J j : ) :

              Mass assigned to Hⱼ by the chain whose insertion rank is J. This state occurs exactly for J ≤ j.

              Equations
              Instances For
                noncomputable def Feige.insertionPairScore (A B w gLower gUpper : ) (k J : ) :

                Pairwise expansion of the expectation for the chain whose insertion rank is J.

                Equations
                Instances For
                  noncomputable def Feige.insertionLevelScore (A B w gLower gUpper : ) (J r : ) :

                  The same inserted-chain score indexed by its consecutive chain level: levels through J are lower states and later levels are upper states.

                  Equations
                  Instances For
                    theorem Feige.insertionPairScore_eq_levelScore {A B w gLower gUpper : } {k J : } (hJk : J < k) :
                    insertionPairScore A B w gLower gUpper k J = rFinset.range (k + 1), insertionLevelScore A B w gLower gUpper J r

                    The pairwise and consecutive-level expansions of one inserted-chain expectation agree.

                    Statistic sequence along the chain with insertion rank J: the pre-insertion levels use B, and the post-insertion levels use A with their index shifted by one.

                    Equations
                    Instances For
                      theorem Feige.chainMass_insertionStatisticSequence_lower {A B w : } {J j : } (hjJ : j J) (hbridge : B j - A j = w j) :

                      At a lower state Cⱼ which is present in the rank-J chain, the adjacent-difference chain mass is exactly the corresponding lower contribution.

                      At an upper state Hⱼ, present exactly for J ≤ j, the adjacent-difference chain mass is its upper contribution.

                      def Feige.insertionTransfer (A F θ : ) (p : ) (j : ) :

                      The upward mass-transfer coefficient.

                      Equations
                      Instances For
                        theorem Feige.inserted_pair_total {A B F w θ : } (j : ) (hB : ∀ (r : ), B r = A r + w r) (hF : ∀ (r : ), F r = A r + θ r * w r) :
                        insertedLowerMass B w θ j + insertedUpperMass A θ j = F j - F (j + 1)

                        The lower and upper mass formulas preserve the total mass of each pair {Cⱼ, Hⱼ}.

                        theorem Feige.independent_pair_total (F : ) (p : ) (j : ) :
                        theorem Feige.lower_difference_eq_neg_transfer {A B F w θ : } {p : } (j : ) (hB : ∀ (r : ), B r = A r + w r) (hF : ∀ (r : ), F r = A r + θ r * w r) :

                        Equal pair totals force the difference to be a within-pair transfer: the lower state loses exactly the mass gained by the upper state.

                        theorem Feige.upward_transfer_improves {newLower newUpper oldLower oldUpper η gLower gUpper : } (hlower : newLower - oldLower = -η) (hupper : newUpper - oldUpper = η) ( : 0 η) (hg : gLower gUpper) :
                        oldLower * gLower + oldUpper * gUpper newLower * gLower + newUpper * gUpper

                        A nonnegative transfer improves every increasing payoff on the pair.

                        theorem Feige.sum_upward_transfers_improve {k : } {newLower newUpper oldLower oldUpper η gLower gUpper : } (hlower : j < k, newLower j - oldLower j = -η j) (hupper : j < k, newUpper j - oldUpper j = η j) ( : j < k, 0 η j) (hg : j < k, gLower j gUpper j) :
                        jFinset.range k, (oldLower j * gLower j + oldUpper j * gUpper j) jFinset.range k, (newLower j * gLower j + newUpper j * gUpper j)

                        Summing the pairwise upward transfers proves the expectation comparison.

                        theorem Feige.insertionWeight_nonneg {θ : } ( : Antitone θ) (j : ) :

                        The insertion-position weights are nonnegative when θ decreases.

                        theorem Feige.sum_insertionWeight (θ : ) (k : ) :
                        jFinset.range k, insertionWeight θ j = θ 0 - θ k

                        The insertion-position weights telescope from θ 0 to θ k.

                        theorem Feige.sum_insertionWeight_eq_one {θ : } {k : } (hzero : θ 0 = 1) (hend : θ k = 0) :
                        jFinset.range k, insertionWeight θ j = 1

                        Under the endpoint conditions θ 0 = 1 and θ k = 0, the insertion weights sum to one.

                        theorem Feige.sum_lowerMassForInsertion {B w θ : } {j k : } (hjk : j < k) :
                        JFinset.range k, insertionWeight θ J * lowerMassForInsertion B w J j = (∑ JFinset.Ico (j + 1) k, insertionWeight θ J) * (B j - B (j + 1)) + insertionWeight θ j * w j

                        Averaging the actual Cⱼ mass over all insertion ranks separates into the single bridge rank and the strictly later ranks.

                        theorem Feige.sum_upperMassForInsertion {A θ : } {j k : } (hjk : j < k) :
                        JFinset.range k, insertionWeight θ J * upperMassForInsertion A J j = (∑ JFinset.range (j + 1), insertionWeight θ J) * (A j - A (j + 1))

                        Averaging the actual Hⱼ mass over all insertion ranks keeps exactly the ranks through j.

                        theorem Feige.sum_insertionWeight_after {θ : } {j k : } (hjk : j < k) (hend : θ k = 0) :
                        JFinset.Ico (j + 1) k, insertionWeight θ J = θ (j + 1)

                        The total insertion weight strictly after rank j. This is the coefficient of Bⱼ - Bⱼ₊₁ in the averaged mass at Cⱼ.

                        theorem Feige.sum_insertionWeight_through {θ : } (j : ) (hzero : θ 0 = 1) :
                        JFinset.range (j + 1), insertionWeight θ J = 1 - θ (j + 1)

                        The total insertion weight through rank j. This is the coefficient of Aⱼ - Aⱼ₊₁ in the averaged mass at Hⱼ.

                        theorem Feige.averaged_lower_mass_eq_insertedLowerMass {B w θ : } {j k : } (hjk : j < k) (hend : θ k = 0) :
                        (∑ JFinset.Ico (j + 1) k, insertionWeight θ J) * (B j - B (j + 1)) + insertionWeight θ j * w j = insertedLowerMass B w θ j

                        The averaged lower-mass formula obtained by separating the insertion rank J = j from all later ranks.

                        theorem Feige.averaged_upper_mass_eq_insertedUpperMass {A θ : } (j : ) (hzero : θ 0 = 1) :
                        (∑ JFinset.range (j + 1), insertionWeight θ J) * (A j - A (j + 1)) = insertedUpperMass A θ j

                        The averaged upper-mass formula obtained by summing over all insertion ranks J ≤ j.

                        theorem Feige.weighted_lowerMassForInsertion_eq {B w θ : } {j k : } (hjk : j < k) (hend : θ k = 0) :

                        The full weighted rank average gives the lower-mass formula.

                        theorem Feige.weighted_upperMassForInsertion_eq {A θ : } {j k : } (hjk : j < k) (hzero : θ 0 = 1) :

                        The full weighted rank average gives the upper-mass formula.

                        theorem Feige.weighted_insertionPairScore_eq {A B w θ gLower gUpper : } {k : } (hθ0 : θ 0 = 1) (hθk : θ k = 0) :
                        JFinset.range k, insertionWeight θ J * insertionPairScore A B w gLower gUpper k J = jFinset.range k, (insertedLowerMass B w θ j * gLower j + insertedUpperMass A θ j * gUpper j)

                        Averaging the complete pairwise scores over insertion ranks gives the averaged lower and upper masses.

                        theorem Feige.exists_score_ge_of_le_convex_average {k : } (hk : 0 < k) {weight score : } {old : } (hweight : j < k, 0 weight j) (hsum : jFinset.range k, weight j = 1) (hold : old jFinset.range k, weight j * score j) :
                        j < k, old score j

                        A convex average cannot exceed all of its entries. This is the final finite step selecting one insertion position from the averaged chain comparison.

                        theorem Feige.insertionTransfer_nonneg_of_identity {η a c d w thetaPlus thetaMinus : } (hid : η = (a - c) / (c + d) * w * (thetaPlus - thetaMinus)) (hac : c a) (hcd : 0 < c + d) (hw : 0 w) ( : thetaMinus thetaPlus) :
                        0 η

                        The local transfer identity identifies the insertion coefficient η; positivity of its four factors gives the upward transfer direction.

                        theorem Feige.localInsertion_average_pair_payoff_le {k : } {A B F w θ a : } {p c d : } {gLower gUpper : } (hB : ∀ (r : ), B r = A r + w r) (hF : ∀ (r : ), F r = A r + θ r * w r) ( : Antitone θ) (hac : j < k, c a j) (hcd : 0 < c + d) (hw : j < k, 0 w j) (htransfer : j < k, insertionTransfer A F θ p j = (a j - c) / (c + d) * w j * (θ j - θ (j + 1))) (hg : j < k, gLower j gUpper j) :
                        jFinset.range k, (independentLowerMass F p j * gLower j + independentUpperMass F p j * gUpper j) jFinset.range k, (insertedLowerMass B w θ j * gLower j + insertedUpperMass A θ j * gUpper j)

                        The finite mass-transport conclusion of the chain-insertion step.

                        Once the exponential transfer identity has supplied the required factorized transfer on every edge, the independently revealed coordinate is dominated by the averaged inserted-chain law for every payoff which is increasing on each pair Cⱼ ⊆ Hⱼ. All remaining hypotheses are the corresponding analytic and probabilistic identities.

                        theorem Feige.exists_localInsertion_score_of_transfer {k : } (hk : 0 < k) {A B F w θ a : } {p c d old : } {gLower gUpper score : } (hB : ∀ (r : ), B r = A r + w r) (hF : ∀ (r : ), F r = A r + θ r * w r) ( : Antitone θ) (hθ0 : θ 0 = 1) (hθk : θ k = 0) (hac : j < k, c a j) (hcd : 0 < c + d) (hw : j < k, 0 w j) (htransfer : j < k, insertionTransfer A F θ p j = (a j - c) / (c + d) * w j * (θ j - θ (j + 1))) (hg : j < k, gLower j gUpper j) (hold : old = jFinset.range k, (independentLowerMass F p j * gLower j + independentUpperMass F p j * gUpper j)) (haverage : jFinset.range k, insertionWeight θ j * score j = jFinset.range k, (insertedLowerMass B w θ j * gLower j + insertedUpperMass A θ j * gUpper j)) :
                        j < k, old score j

                        Full finite selection step in the chain-insertion argument.

                        The two equalities hold and haverage are precisely the expansions of the old hybrid expectation and of the convex average of inserted-chain expectations. The theorem first applies the upward-transport comparison and then selects one insertion rank from that convex average.

                        theorem Feige.exists_insertionPairScore_of_transfer {k : } (hk : 0 < k) {A B F w θ a : } {p c d old : } {gLower gUpper : } (hB : ∀ (r : ), B r = A r + w r) (hF : ∀ (r : ), F r = A r + θ r * w r) ( : Antitone θ) (hθ0 : θ 0 = 1) (hθk : θ k = 0) (hac : j < k, c a j) (hcd : 0 < c + d) (hw : j < k, 0 w j) (htransfer : j < k, insertionTransfer A F θ p j = (a j - c) / (c + d) * w j * (θ j - θ (j + 1))) (hg : j < k, gLower j gUpper j) (hold : old = jFinset.range k, (independentLowerMass F p j * gLower j + independentUpperMass F p j * gUpper j)) :
                        j < k, old insertionPairScore A B w gLower gUpper k j

                        The finite chain-insertion conclusion with the inserted-chain score expanded canonically into its Cⱼ/Hⱼ pairs. Unlike exists_localInsertion_score_of_transfer, this theorem no longer asks for the averaged-score identity as an external hypothesis.