Documentation

LeanPool.DemazureProduct.AspPerm

Almost-sign-preserving permutations #

This file defines almost-sign-preserving permutations, their inversion sets, associated slipfaces, the Bruhat order, and some properties laying the groundwork for the Demazure product $\star$ and residuals $\triangleleft$ and $\triangleright$. These three operations are not yet defined in this file; that is deferred until Submodular.lean, where the bijection between $\mathrm{ASP}$ and the set of submodular slipfaces is established. This corresponds roughly to Section 2, with some bounded-difference material from Section 7, of An extended Demazure product.

The inversion set $\operatorname{Inv} \tau = \{(u,v) \in \mathbb{Z}^2 : u < v \text{ and } \tau(u) > \tau(v)\}$. Definition 2.5 (defn:Inv) of An extended Demazure product.

Equations
Instances For

    The southeast quadrant below value m and weakly to the right of index n.

    Equations
    Instances For

      The northwest quadrant above value m and strictly to the left of index n.

      Equations
      Instances For
        @[reducible, inline]

        Reflect an integer function by the order-reversing involution n ↦ -1 - n.

        Equations
        Instances For
          theorem LeanPool.DemazureProduct.flip_quadrant (f : ) (a b : ) :
          (fun (x : ) => -1 - x) '' southeastSet f a b = northwestSet (flipFunc f) (-a) (-b)

          The almost-sign-preserving condition: the set $\{ n \in \mathbb{Z} : n \tau(n) < 0 \}$ is finite.

          Equivalently, only finitely many integers change sign under τ.

          Equations
          Instances For
            theorem LeanPool.DemazureProduct.asp_of_finite_quadrants {τ : } (h_inj : Function.Injective τ) {m n m' n' : } (fin_se : (southeastSet τ m n).Finite) (fin_nw : (northwestSet τ m' n').Finite) :

            An almost-sign-preserving permutation of , abbreviated ASP permutation.

            This is the group $\mathrm{ASP}$ from An extended Demazure product, packaged in Lean as a function together with proofs of bijectivity and the ASP condition.

            • func :

              The underlying bijection of integers.

            • bijective : Function.Bijective self.func

              The underlying function is bijective.

            • asp : isAsp self.func

              The underlying function is almost-sign-preserving.

            Instances For
              theorem LeanPool.DemazureProduct.AspPerm.inv_iff_lt (τ : AspPerm) {i j : } (i_le_j : i j) :
              (i, j) invSet τ.func τ.func j < τ.func i
              theorem LeanPool.DemazureProduct.AspPerm.inv_iff_le (τ : AspPerm) {i j : } (i_lt_j : i < j) :
              (i, j) invSet τ.func τ.func j τ.func i

              Composition of ASP permutations.

              Equations
              Instances For

                The inverse ASP permutation.

                Equations
                Instances For
                  @[implicit_reducible]
                  Equations
                  • One or more equations did not get rendered due to their size.
                  @[simp]
                  theorem LeanPool.DemazureProduct.AspPerm.mul_apply (σ τ : AspPerm) (n : ) :
                  (σ * τ).func n = σ.func (τ.func n)

                  Ordinary multiplication of ASP permutations is function composition.

                  The finite southeast quadrant for an ASP permutation.

                  Equations
                  Instances For
                    @[simp]
                    theorem LeanPool.DemazureProduct.AspPerm.mem_se (τ : AspPerm) (a b n : ) :
                    n τ.seFinset a b n b τ.func n < a

                    The finite northwest quadrant for an ASP permutation.

                    Equations
                    Instances For
                      @[simp]
                      theorem LeanPool.DemazureProduct.AspPerm.mem_nw (τ : AspPerm) (a b n : ) :
                      n τ.nwFinset a b n < b τ.func n a

                      Reverse an inversion box through an ASP permutation.

                      Equations
                      Instances For

                        The shift $\chi_\tau = s_\tau(0,0) - s_{\tau^{-1}}(0,0)$.

                        An extended Demazure product writes this as $\chi_\tau$; Lean writes it as τ.χ.

                        Equations
                        Instances For

                          The slipface attached to τ. An extended Demazure product writes its values as $s_\tau(a,b)$; in Lean the corresponding value is τ.s_raw a b, and τ.s packages the same data as a SlipFace.

                          Equations
                          Instances For

                            Basic properties of the slipface of a permutation #

                            theorem LeanPool.DemazureProduct.AspPerm.s_ge (τ : AspPerm) (a b : ) :
                            τ.s.func a b a - b + τ.χ
                            theorem LeanPool.DemazureProduct.AspPerm.a_step (τ : AspPerm) (a b : ) :
                            τ.s.func (a + 1) b = τ.s.func a b + if τ⁻¹.func a b then 1 else 0
                            theorem LeanPool.DemazureProduct.AspPerm.b_step (τ : AspPerm) (a b : ) :
                            τ.s.func a (b + 1) = τ.s.func a b - if τ.func b < a then 1 else 0
                            theorem LeanPool.DemazureProduct.AspPerm.s_noninc (τ : AspPerm) (a : ) {b b' : } (b_le_b' : b b') :
                            τ.s.func a b τ.s.func a b' (τ.s.func a b = τ.s.func a b' ∀ (x : ), b xx < b'τ.func x a)
                            theorem LeanPool.DemazureProduct.AspPerm.s_nondec (τ : AspPerm) {a a' : } (a_le_a' : a a') (b : ) :
                            τ.s.func a b τ.s.func a' b (τ.s.func a b = τ.s.func a' b ∀ (x : ), a τ.func xτ.func x < a'x < b)
                            theorem LeanPool.DemazureProduct.AspPerm.duality (τ : AspPerm) (a b : ) :
                            τ.s.func a b - τ⁻¹.s.func b a = τ.χ + a - b
                            theorem LeanPool.DemazureProduct.AspPerm.s_eq (τ : AspPerm) (a b : ) :
                            τ.s.func a b = τ⁻¹.s.func b a + τ.χ + a - b
                            theorem LeanPool.DemazureProduct.AspPerm.s'_eq (τ : AspPerm) (a b : ) :
                            τ⁻¹.s.func a b = τ.s.func b a - τ.χ + a - b
                            theorem LeanPool.DemazureProduct.AspPerm.tend_zero_a (τ : AspPerm) (b : ) :
                            ∃ (a : ), τ.s.func a b = 0
                            theorem LeanPool.DemazureProduct.AspPerm.tend_zero_b (τ : AspPerm) (a : ) :
                            ∃ (b : ), τ.s.func a b = 0
                            theorem LeanPool.DemazureProduct.AspPerm.a_move_up (τ : AspPerm) (a a' b : ) (a_le_a' : a a') :
                            τ.s.func a' b = τ.s.func a b + {xFinset.Ico a a' | τ⁻¹.func x b}.card
                            theorem LeanPool.DemazureProduct.AspPerm.b_move_up (τ : AspPerm) (a b b' : ) (b_le_b' : b b') :
                            τ.s.func a b' = τ.s.func a b - {xFinset.Ico b b' | τ.func x < a}.card

                            The shift as a difference of southeast and northwest cardinalities.

                            theorem LeanPool.DemazureProduct.AspPerm.chi_mul (α β : AspPerm) :
                            (α * β).χ = α.χ + β.χ

                            Shift is additive under ordinary multiplication: $\chi_{\alpha\beta} = \chi_\alpha + \chi_\beta$. Equation (16) (eq:chiHom) of An extended Demazure product.

                            theorem LeanPool.DemazureProduct.AspPerm.b_step_one_iff (τ : AspPerm) (a b : ) :
                            τ.s.func a (b + 1) = τ.s.func a b - 1 τ.func b < a
                            theorem LeanPool.DemazureProduct.AspPerm.b_step_lt_iff (τ : AspPerm) (a b : ) :
                            τ.s.func a (b + 1) < τ.s.func a b τ.func b < a
                            theorem LeanPool.DemazureProduct.AspPerm.b_step_eq_iff (τ : AspPerm) (a b : ) :
                            τ.s.func a (b + 1) = τ.s.func a b a τ.func b
                            theorem LeanPool.DemazureProduct.AspPerm.b_step_ge_iff (τ : AspPerm) (a b : ) :
                            τ.s.func a (b + 1) τ.s.func a b a τ.func b
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_one_iff (τ : AspPerm) (a b : ) :
                            τ.s.func (a + 1) b = τ.s.func a b + 1 τ⁻¹.func a b
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_gt_iff (τ : AspPerm) (a b : ) :
                            τ.s.func a b < τ.s.func (a + 1) b b τ⁻¹.func a
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_le_iff (τ : AspPerm) (a b : ) :
                            τ.s.func (a + 1) b τ.s.func a b τ⁻¹.func a < b
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_one_iff' (τ : AspPerm) (u b : ) :
                            τ.s.func (τ.func u + 1) b = τ.s.func (τ.func u) b + 1 u b
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_eq_iff (τ : AspPerm) (a b : ) :
                            τ.s.func (a + 1) b = τ.s.func a b τ⁻¹.func a < b
                            theorem LeanPool.DemazureProduct.AspPerm.a_step_eq_iff' (τ : AspPerm) (u b : ) :
                            τ.s.func (τ.func u + 1) b = τ.s.func (τ.func u) b u < b

                            The set of inversion sources ending at v.

                            Equations
                            Instances For

                              The set of inversion targets starting at u.

                              Equations
                              Instances For
                                theorem LeanPool.DemazureProduct.AspPerm.reconstruction (τ : AspPerm) (n : ) :
                                τ.func n = n - τ.χ + (τ.outset n).ncard - (τ.inset n).ncard

                                Reconstruct τ n from its shift and inversion set: $\tau(n) = n - \chi_\tau$ $+ \#\{v \in \mathbb{Z} : (n,v) \in \operatorname{Inv} \tau\}$ $- \#\{u \in \mathbb{Z} : (u,n) \in \operatorname{Inv} \tau\}$.

                                Proposition 2.11 (prop:reconstruction) of An extended Demazure product, part 1/2.

                                theorem LeanPool.DemazureProduct.AspPerm.eq_of_inv_set_eq_of_chi_eq (σ τ : AspPerm) (h_inv : invSet σ.func = invSet τ.func) (h_χ : σ.χ = τ.χ) :
                                σ = τ

                                Two ASP permutations are equal if they have the same inversion set and the same shift. Proposition 2.11 (prop:reconstruction) of An extended Demazure product, consequence, part 2/2.

                                An ASP permutation with empty inversion set and zero shift is the identity.

                                The northwest count (τ⁻¹).s b a (the slipface dual value) equals the cardinality of the northwest set. The slipface replacement for s'_eq_nw_card.

                                The bend set is a finite set on which the minimum defining the Demazure product is always obtained. It is characterized in Lemma 3.13 (lem:setL) of An extended Demazure product, part 5/5.

                                theorem LeanPool.DemazureProduct.AspPerm.Delta_eq (τ : AspPerm) (a b : ) :
                                τ.s.Δ a b = if τ.func b = a then 1 else 0

                                Formula (14) (eq:Deltasa) of An extended Demazure product, characterizing the values of a permutation via the second iterated difference of its slipface.

                                The slipface of an ASP permutation is submodular. Proposition 4.3 (prop:imageASP) of An extended Demazure product, one direction.

                                Ramps, lamps, and wing parameters #

                                This section defines the ramp and lamp regions associated to an ASP permutation. These are Young diagrams associated to particular values of a or b, useful in characterizing Demazure factorizations of 321-avoiding permutations.

                                This material is not present in An extended Demazure product.

                                The b-ramp of an ASP permutation: the region, shaped like a Young diagram, of pairs (m,n) such that $s_\tau(\ell,b) \ge m$ and $s^∨_\tau(b,\ell) \ge n$ for some $\ell$.

                                Equations
                                Instances For

                                  The a-lamp of an ASP permutation, defined as the dual of a ramp.

                                  Equations
                                  Instances For
                                    theorem LeanPool.DemazureProduct.AspPerm.ramp_closed (τ : AspPerm) (b : ) {m₁ n₁ m₂ n₂ : } (hm : m₁ m₂) (hn : n₁ n₂) :
                                    (m₂, n₂) τ.ramp b(m₁, n₁) τ.ramp b
                                    theorem LeanPool.DemazureProduct.AspPerm.mem_ramp_iff_s_ge (τ : AspPerm) (b m n : ) :
                                    (m, n) τ.ramp b τ.s.func (b + m - n - τ.χ) b m
                                    theorem LeanPool.DemazureProduct.AspPerm.mem_lamp_iff_s_ge (τ : AspPerm) (a m n : ) :
                                    (m, n) τ.lamp a τ⁻¹.s.func (a - m + n + τ.χ) a n
                                    noncomputable def LeanPool.DemazureProduct.AspPerm.v (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :

                                    The rightmost index whose image is the last value with s below m in row b.

                                    Equations
                                    Instances For
                                      theorem LeanPool.DemazureProduct.AspPerm.v_crit (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) (v : ) :
                                      v = τ.v b m_pos τ.s.func (τ.func v) b = m - 1 b v
                                      theorem LeanPool.DemazureProduct.AspPerm.s_τv_b (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :
                                      τ.s.func (τ.func (τ.v b m_pos)) b = m - 1
                                      theorem LeanPool.DemazureProduct.AspPerm.v_ge (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :
                                      b τ.v b m_pos
                                      theorem LeanPool.DemazureProduct.AspPerm.τv_lt (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) {a : } (s_ge_m : m τ.s.func a b) :
                                      τ.func (τ.v b m_pos) < a
                                      noncomputable def LeanPool.DemazureProduct.AspPerm.u (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :

                                      The rightmost index witnessing the dual lower bound n in row b.

                                      Equations
                                      Instances For
                                        theorem LeanPool.DemazureProduct.AspPerm.u_crit (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) (u : ) :
                                        u = τ.u b n_pos τ⁻¹.s.func b (τ.func u) = n u < b
                                        theorem LeanPool.DemazureProduct.AspPerm.s'_b_τu (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :
                                        τ⁻¹.s.func b (τ.func (τ.u b n_pos)) = n
                                        theorem LeanPool.DemazureProduct.AspPerm.s'_pos_of_lt (τ : AspPerm) {u b : } (u_lt_b : u < b) :
                                        τ⁻¹.s.func b (τ.func u) 1
                                        theorem LeanPool.DemazureProduct.AspPerm.u_lt (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :
                                        τ.u b n_pos < b
                                        theorem LeanPool.DemazureProduct.AspPerm.τu_ge (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) {a : } (s_ge_n : n τ⁻¹.s.func b a) :
                                        τ.func (τ.u b n_pos) a
                                        theorem LeanPool.DemazureProduct.AspPerm.inv_ramp_correspondence (τ : AspPerm) (b : ) {m n : } (m_pos : m > 0) (n_pos : n > 0) :
                                        (m, n) τ.ramp b (τ.u b n_pos, τ.v b m_pos) invSet τ.func

                                        A box lies in the ramp exactly when a specific inversion belongs to invSet τ, given by the functions u and v above.

                                        Reduced products and weak orders #

                                        This section introduces some infrastructure about inversion sets.

                                        A product $\alpha \beta$ is reduced if $\operatorname{Inv}(\alpha) \cap \operatorname{Inv}(\beta^{-1})$ is empty.

                                        Definition 2.7 (defn:reducedProduct) of An extended Demazure product.

                                        Equations
                                        Instances For

                                          The left weak order: σ ≤L τ if and only if $\operatorname{Inv} \sigma \subseteq \operatorname{Inv} \tau$. Definition 2.6 (defn:weakOrders), part 1/2, of An extended Demazure product.

                                          Equations
                                          Instances For

                                            Infix notation for the left weak order on ASP permutations.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              The right weak order: σ ≤R τ if and only if $\operatorname{Inv}(\sigma^{-1}) \subseteq \operatorname{Inv}(\tau^{-1})$. Definition 2.6 (defn:weakOrders), part 2/2, of An extended Demazure product.

                                              Equations
                                              Instances For

                                                Infix notation for the right weak order on ASP permutations.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  A product α β is reduced exactly when α is below α β in right weak order. Lemma 2.8 (lem:reducedWeakEquivs) of An extended Demazure product, part 1/2.

                                                  A product α β is reduced exactly when β is below α β in left weak order. Lemma 2.8 (lem:reducedWeakEquivs) of An extended Demazure product, part 2/2.

                                                  Inversion reverses the factors in a reduced product.

                                                  noncomputable def LeanPool.DemazureProduct.AspPerm.sr (τ α : AspPerm) :

                                                  Slide right inversions from α to boxes indexed by τ.

                                                  Equations
                                                  Instances For

                                                    The min-plus Demazure-product value is at least n at (a, b).

                                                    Equations
                                                    Instances For

                                                      Pointwise lower-bound predicate for a candidate Demazure product.

                                                      Equations
                                                      Instances For

                                                        The min-plus Demazure-product value is at most n at (a, b).

                                                        Equations
                                                        Instances For

                                                          Pointwise upper-bound predicate for a candidate Demazure product.

                                                          Equations
                                                          Instances For

                                                            Pointwise equality predicate for a candidate Demazure product.

                                                            Equations
                                                            Instances For
                                                              theorem LeanPool.DemazureProduct.AspPerm.chi_ge_of_dprod_ge {α β τ : AspPerm} (h_ge : τ.leDprod α β) :
                                                              α.χ + β.χ τ.χ
                                                              theorem LeanPool.DemazureProduct.AspPerm.chi_le_of_dprod_le {α β τ : AspPerm} (h_le : τ.geDprod α β) :
                                                              α.χ + β.χ τ.χ
                                                              theorem LeanPool.DemazureProduct.AspPerm.chi_eq_of_drop_eq {τ α β : AspPerm} (h_eq : τ.eqDprod α β) :
                                                              α.χ + β.χ = τ.χ
                                                              theorem LeanPool.DemazureProduct.AspPerm.ramp_dprod_legos (α β : AspPerm) (a b M N : ) (habMN : a - b + α.χ + β.χ = M - N) :
                                                              α.dprodValGe β a b M mSet.Icc 1 M, nSet.Icc 1 N, (m, n) β.ramp b (M + 1 - m, N + 1 - n) α.lamp a

                                                              A characterization of Demazure products in terms of the Young diagrams called "ramps" and "lamps" above. This is the key input in classifying the Demazure factorizations of 321-avoiding permutations.

                                                              This theorem is not present in An extended Demazure product.

                                                              The essential set of a permutation #

                                                              This section formalizes results from Section 7.2 of An extended Demazure product about the essential set of a permutation and permutations of bounded difference.

                                                              The essential set of an ASP permutation.

                                                              Equations
                                                              Instances For

                                                                The bounded-difference condition for an ASP permutation.

                                                                Equations
                                                                Instances For

                                                                  The first auxiliary unboundedness set used for bounded-difference criteria.

                                                                  Equations
                                                                  Instances For

                                                                    The second auxiliary unboundedness set used for bounded-difference criteria.

                                                                    Equations
                                                                    Instances For

                                                                      The third auxiliary unboundedness set used for bounded-difference criteria.

                                                                      Equations
                                                                      Instances For

                                                                        A set-theoretic reformulation of Lemma 7.8 (lem:malpha) of An extended Demazure product, part 1/2.*

                                                                        A set-theoretic reformulation of Lemma 7.8 (lem:malpha) of An extended Demazure product, part 2/2.*

                                                                        A permutation $\tau$ has bounded difference if and only if $s_\tau(a,b)$ agrees with $\max\{0, a-b+\chi(\tau)\}$ for all $|a-b| \gg 0$. Proposition 7.7 (prop:cliffordPerms) of An extended Demazure product, part 1/2.*

                                                                        A permutation $\tau$ has bounded difference if and only if $s_\tau$ is a Clifford slipface. Proposition 7.7 (prop:cliffordPerms) of An extended Demazure product, part 2/2.*