Documentation

Atlas.AlgebraicCombinatorics.code.WalkTypeCount

Walk Count by Type (Theorem 8.3) #

This file formalizes Theorem 8.3 from Stanley's Algebraic Combinatorics: the walk count formula α(w,λ) = f^λ · ∏_{i ∈ S_w}(b_i - a_i) for Hasse walks of a given type w in Young's lattice.

Main definitions #

Main result #

References #

The running level after the first k steps: number of U's minus number of D's in positions 0, …, k-1.

Instances For

    A walk type w : List HStep is a valid λ-word (Lemma 8.1) if the net displacement equals |λ| and every prefix has non-negative running level.

    Instances For

      α(w,λ): The number of Hasse walks of type w starting at ∅ and ending at λ.

      Instances For

        S_w: the set of positions where the walk type w has a down-step.

        Instances For

          a_i: The number of D-steps strictly to the right of position i in w.

          Instances For

            b_i: The number of U-steps strictly to the right of position i in w.

            Instances For

              The product ∏_{i ∈ S_w}(b_i - a_i) that appears in Theorem 8.3.

              Instances For

                Apply a step word (list of HStep) to an element of YoungDiagram →₀ ℤ. Each step is applied left-to-right: step 0 first.

                Instances For

                  The net displacement of a step word: number of U's minus number of D's.

                  Instances For

                    Linearity of applyStepWord #

                    Auxiliary accumulator #

                    The product of running-level factors at D-steps when processing word w starting at running level m. This mirrors the recursive structure of applyStepWord.

                    Instances For

                      The final running level after processing word w starting at level m.

                      Instances For

                        Running level lemmas #

                        finalLevel and runningLevel #

                        theorem WalkTypeCount.finalLevel_eq_of_valid (w : List HasseWalks.HStep) (m : ) (hvalid : kw.length, 0 m + runningLevel w k) :
                        (finalLevel w m) = m + runningLevel w w.length

                        downFactor equals downStepProduct #

                        theorem WalkTypeCount.downFactor_eq_downStepProduct_offset (w : List HasseWalks.HStep) (m : ) (hvalid : kw.length, 0 m + runningLevel w k) :
                        downFactor w m = idownPositions w, (m + runningLevel w i)

                        Bridge axioms for Theorem 8.3 #

                        The combinatorial bridge (linking walkTypeCount to operator coefficients) is stated as an unproved axiom. The book treats this as an observation (not a separate theorem).

                        axiom HasseWalks.hasseWalk_finite (steps : List HStep) (start target : YoungDiagram) :
                        Finite (HasseWalk steps start target)
                        instance instFiniteHasseWalk (steps : List HasseWalks.HStep) (start target : YoungDiagram) :
                        Finite (HasseWalks.HasseWalk steps start target)

                        applyStepWord w distributes over Finset.sum of basis elements.

                        Generalized bridge: for any start diagram, the walk count from start to lam equals the coefficient of lam in applyStepWord w (δ_start).

                        Main algebraic reduction (Theorem 8.3 core) #

                        The operator application of a valid step word w to emptyBasis equals downStepProduct w • iterU n emptyBasis. This is the heart of Theorem 8.3's proof.