Documentation

Demazure.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.

def inv_set (τ : ) :

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
    def southeast_set (τ : ) (m n : ) :
    Equations
    Instances For
      def northwest_set (τ : ) (m n : ) :
      Equations
      Instances For
        @[reducible, inline]
        abbrev flip_func (f : ) :
        Equations
        Instances For
          theorem flip_quadrant (f : ) (a b : ) :
          (fun (x : ) => -1 - x) '' southeast_set f a b = northwest_set (flip_func f) (-a) (-b)
          def is_asp (τ : ) :

          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 se_finite_of_asp {τ : } (h_inj : Function.Injective τ) (m n : ) :
            is_asp τ(southeast_set τ m n).Finite
            theorem nw_finite_of_asp {τ : } (h_inj : Function.Injective τ) (m n : ) :
            is_asp τ(northwest_set τ m n).Finite
            theorem asp_of_finite_quadrants {τ : } (h_inj : Function.Injective τ) {m n m' n' : } (fin_se : (southeast_set τ m n).Finite) (fin_nw : (northwest_set τ m' n').Finite) :
            structure AspPerm :

            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.

            Instances For
              @[implicit_reducible]
              Equations
              theorem AspPerm.inv_iff_lt (τ : AspPerm) {i j : } (i_le_j : i j) :
              (i, j) inv_set τ.func τ.func j < τ.func i
              theorem AspPerm.inv_iff_le (τ : AspPerm) {i j : } (i_lt_j : i < j) :
              (i, j) inv_set τ.func τ.func j τ.func i
              @[simp]
              theorem AspPerm.ext {σ τ : AspPerm} :
              σ = τ σ.func = τ.func
              def AspPerm.mul (σ τ : AspPerm) :
              Equations
              Instances For
                noncomputable def AspPerm.inv (τ : AspPerm) :
                Equations
                Instances For
                  Equations
                  Instances For
                    @[implicit_reducible]
                    noncomputable instance AspPerm.instGroup :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[simp]
                    theorem AspPerm.mul_apply (σ τ : AspPerm) (n : ) :
                    (σ * τ).func n = σ.func (τ.func n)

                    Ordinary multiplication of ASP permutations is function composition.

                    @[simp]
                    theorem AspPerm.inv_mul_cancel_eval (τ : AspPerm) (n : ) :
                    τ⁻¹.func (τ.func n) = n
                    @[simp]
                    theorem AspPerm.mul_inv_cancel_eval (τ : AspPerm) (n : ) :
                    τ.func (τ⁻¹.func n) = n
                    theorem AspPerm.se_finite (τ : AspPerm) (a b : ) :
                    theorem AspPerm.nw_finite (τ : AspPerm) (a b : ) :
                    noncomputable def AspPerm.se_finset (τ : AspPerm) (a b : ) :
                    Equations
                    Instances For
                      @[simp]
                      theorem AspPerm.mem_se (τ : AspPerm) (a b n : ) :
                      n τ.se_finset a b n b τ.func n < a
                      noncomputable def AspPerm.nw_finset (τ : AspPerm) (a b : ) :
                      Equations
                      Instances For
                        @[simp]
                        theorem AspPerm.mem_nw (τ : AspPerm) (a b n : ) :
                        n τ.nw_finset a b n < b τ.func n a
                        Equations
                        Instances For
                          noncomputable def AspPerm.χ (τ : AspPerm) :

                          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
                            noncomputable def AspPerm.s (τ : AspPerm) :

                            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
                            • τ.s = { func := AspPerm.s_raw✝ τ, χ := τ.χ, a_step := , b_step := , nonneg := , ge_diff := , small_a := , large_a := , small_b := , large_b := }
                            Instances For

                              Basic properties of the slipface of a permutation #

                              theorem AspPerm.s_eq_ncard (τ : AspPerm) (a b : ) :
                              τ.s.func a b = (southeast_set τ.func a b).ncard
                              theorem AspPerm.s'_eq_ncard (τ : AspPerm) (b a : ) :
                              τ⁻¹.s.func b a = (northwest_set τ.func a b).ncard
                              theorem AspPerm.s_eq_se_card (τ : AspPerm) (a b : ) :
                              τ.s.func a b = (τ.se_finset a b).card
                              theorem AspPerm.s_nonneg (τ : AspPerm) (a b : ) :
                              τ.s.func a b 0
                              theorem AspPerm.s_ge (τ : AspPerm) (a b : ) :
                              τ.s.func a b a - b + τ.χ
                              theorem AspPerm.a_step (τ : AspPerm) (a b : ) :
                              τ.s.func (a + 1) b = τ.s.func a b + if τ⁻¹.func a b then 1 else 0
                              theorem AspPerm.b_step (τ : AspPerm) (a b : ) :
                              τ.s.func a (b + 1) = τ.s.func a b - if τ.func b < a then 1 else 0
                              theorem 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 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 AspPerm.duality (τ : AspPerm) (a b : ) :
                              τ.s.func a b - τ⁻¹.s.func b a = τ.χ + a - b
                              theorem AspPerm.s_eq (τ : AspPerm) (a b : ) :
                              τ.s.func a b = τ⁻¹.s.func b a + τ.χ + a - b
                              theorem AspPerm.s'_eq (τ : AspPerm) (a b : ) :
                              τ⁻¹.s.func a b = τ.s.func b a - τ.χ + a - b
                              theorem AspPerm.tend_zero_a (τ : AspPerm) (b : ) :
                              ∃ (a : ), τ.s.func a b = 0
                              theorem AspPerm.tend_zero_b (τ : AspPerm) (a : ) :
                              ∃ (b : ), τ.s.func a b = 0
                              theorem 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 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
                              theorem AspPerm.chi_eq_card (τ : AspPerm) :
                              τ.χ = (τ.se_finset 0 0).card - (τ.nw_finset 0 0).card

                              The shift as a difference of southeast and northwest cardinalities.

                              @[simp]
                              theorem AspPerm.id_chi :
                              id.χ = 0
                              theorem 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 AspPerm.b_step_one_iff (τ : AspPerm) (a b : ) :
                              τ.s.func a (b + 1) = τ.s.func a b - 1 τ.func b < a
                              theorem AspPerm.b_step_lt_iff (τ : AspPerm) (a b : ) :
                              τ.s.func a (b + 1) < τ.s.func a b τ.func b < a
                              theorem AspPerm.b_step_eq_iff (τ : AspPerm) (a b : ) :
                              τ.s.func a (b + 1) = τ.s.func a b a τ.func b
                              theorem AspPerm.b_step_ge_iff (τ : AspPerm) (a b : ) :
                              τ.s.func a (b + 1) τ.s.func a b a τ.func b
                              theorem AspPerm.a_step_one_iff (τ : AspPerm) (a b : ) :
                              τ.s.func (a + 1) b = τ.s.func a b + 1 τ⁻¹.func a b
                              theorem AspPerm.a_step_gt_iff (τ : AspPerm) (a b : ) :
                              τ.s.func a b < τ.s.func (a + 1) b b τ⁻¹.func a
                              theorem AspPerm.a_step_le_iff (τ : AspPerm) (a b : ) :
                              τ.s.func (a + 1) b τ.s.func a b τ⁻¹.func a < b
                              theorem AspPerm.a_step_one_iff' (τ : AspPerm) (u b : ) :
                              τ.s.func (τ.func u + 1) b = τ.s.func (τ.func u) b + 1 u b
                              theorem AspPerm.a_step_eq_iff (τ : AspPerm) (a b : ) :
                              τ.s.func (a + 1) b = τ.s.func a b τ⁻¹.func a < b
                              theorem AspPerm.a_step_eq_iff' (τ : AspPerm) (u b : ) :
                              τ.s.func (τ.func u + 1) b = τ.s.func (τ.func u) b u < b
                              def AspPerm.inset (τ : AspPerm) (v : ) :
                              Equations
                              Instances For
                                theorem AspPerm.inset_eq_nw (τ : AspPerm) (v : ) :
                                τ.inset v = northwest_set τ.func (τ.func v) v
                                theorem AspPerm.invset_iff_inset (τ : AspPerm) (u v : ) :
                                (u, v) inv_set τ.func u τ.inset v
                                theorem AspPerm.inset_finite (τ : AspPerm) (v : ) :
                                (τ.inset v).Finite
                                def AspPerm.outset (τ : AspPerm) (u : ) :
                                Equations
                                Instances For
                                  theorem AspPerm.outset_eq_se (τ : AspPerm) (u : ) :
                                  τ.outset u = southeast_set τ.func (τ.func u) u
                                  theorem AspPerm.outset_finite (τ : AspPerm) (u : ) :
                                  (τ.outset u).Finite
                                  theorem 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 AspPerm.eq_of_inv_set_eq_of_chi_eq (σ τ : AspPerm) (h_inv : inv_set σ.func = inv_set τ.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.

                                  theorem AspPerm.eq_id_of_inv_set_eq_empty_of_chi_eq_zero (τ : AspPerm) (h_inv : inv_set τ.func = ) (h_χ : τ.χ = 0) :
                                  τ = id

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

                                  @[simp]
                                  theorem AspPerm.s_chi_eq (τ : AspPerm) :
                                  τ.s.χ = τ.χ
                                  theorem AspPerm.s_dual (τ : AspPerm) :
                                  τ.s.dual = τ⁻¹.s
                                  theorem AspPerm.s_dual_eq_nw_card (τ : AspPerm) (b a : ) :
                                  τ⁻¹.s.func b a = (τ.nw_finset a b).card

                                  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.

                                  theorem AspPerm.bend_set_sf (β : AspPerm) (b : ) :
                                  β.s.bend_set b = {l : | β⁻¹.func (l - 1) < b b β⁻¹.func l}

                                  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 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.

                                  theorem AspPerm.Γ_eq (τ : AspPerm) :
                                  τ.s.Γ = {(a, b) : × | τ.func b = a}

                                  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.

                                  def AspPerm.ramp (τ : AspPerm) (b : ) :

                                  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
                                    def AspPerm.lamp (τ : AspPerm) (a : ) :

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

                                    Equations
                                    Instances For
                                      def AspPerm.ramp_closed (τ : AspPerm) (b : ) {m₁ n₁ m₂ n₂ : } (hm : m₁ m₂) (hn : n₁ n₂) :
                                      (m₂, n₂) τ.ramp b(m₁, n₁) τ.ramp b
                                      Equations
                                      • =
                                      Instances For
                                        theorem AspPerm.ramp_lamp_dual (τ : AspPerm) (b m n : ) :
                                        (m, n) τ.ramp b (n, m) τ⁻¹.lamp b
                                        theorem AspPerm.mem_ramp_iff_s_ge (τ : AspPerm) (b m n : ) :
                                        (m, n) τ.ramp b τ.s.func (b + m - n - τ.χ) b m
                                        theorem AspPerm.mem_lamp_iff_s_ge (τ : AspPerm) (a m n : ) :
                                        (m, n) τ.lamp a τ⁻¹.s.func (a - m + n + τ.χ) a n
                                        noncomputable def AspPerm.v (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :
                                        Equations
                                        Instances For
                                          theorem 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 AspPerm.s_τv_b (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :
                                          τ.s.func (τ.func (τ.v b m_pos)) b = m - 1
                                          theorem AspPerm.v_ge (τ : AspPerm) (b : ) {m : } (m_pos : m > 0) :
                                          b τ.v b m_pos
                                          theorem 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 AspPerm.u (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :
                                          Equations
                                          Instances For
                                            theorem 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 AspPerm.s'_b_τu (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :
                                            τ⁻¹.s.func b (τ.func (τ.u b n_pos)) = n
                                            theorem AspPerm.s'_pos_of_lt (τ : AspPerm) {u b : } (u_lt_b : u < b) :
                                            τ⁻¹.s.func b (τ.func u) 1
                                            theorem AspPerm.u_lt (τ : AspPerm) (b : ) {n : } (n_pos : n > 0) :
                                            τ.u b n_pos < b
                                            theorem 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 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) inv_set τ.func

                                            A box lies in the ramp exactly when a specific inversion belongs to inv_set τ, 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

                                                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
                                                  theorem AspPerm.le_weak_L_of_R {σ τ : AspPerm} (h_R : σ ≤R τ) :
                                                  theorem AspPerm.le_weak_R_of_L {σ τ : AspPerm} (h_L : σ ≤L τ) :
                                                  theorem AspPerm.reduced_iff_leR (α β : AspPerm) :
                                                  α.ReducedProduct β α ≤R α * β

                                                  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.

                                                  theorem AspPerm.reduced_iff_leL (α β : AspPerm) :
                                                  α.ReducedProduct β β ≤L α * β

                                                  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 AspPerm.sr (τ α : AspPerm) :
                                                  Equations
                                                  Instances For
                                                    theorem AspPerm.sr_crit (τ α : AspPerm) (u v : ) :
                                                    (u, v) τ.sr α '' inv_set α.func (τ.func v, τ.func u) inv_set α⁻¹.func
                                                    theorem AspPerm.sr_subset (τ α : AspPerm) (h_R : α ≤R τ) :
                                                    def AspPerm.dprod_val_ge (α β : AspPerm) (a b n : ) :
                                                    Equations
                                                    Instances For
                                                      def AspPerm.le_dprod (τ α β : AspPerm) :
                                                      Equations
                                                      Instances For
                                                        def AspPerm.dprod_val_le (α β : AspPerm) (a b n : ) :
                                                        Equations
                                                        Instances For
                                                          def AspPerm.ge_dprod (τ α β : AspPerm) :
                                                          Equations
                                                          Instances For
                                                            def AspPerm.eq_dprod (τ α β : AspPerm) :
                                                            Equations
                                                            Instances For
                                                              theorem AspPerm.chi_ge_of_dprod_ge {α β τ : AspPerm} (h_ge : τ.le_dprod α β) :
                                                              α.χ + β.χ τ.χ
                                                              theorem AspPerm.chi_le_of_dprod_le {α β τ : AspPerm} (h_le : τ.ge_dprod α β) :
                                                              α.χ + β.χ τ.χ
                                                              theorem AspPerm.chi_eq_of_drop_eq {τ α β : AspPerm} (h_eq : τ.eq_dprod α β) :
                                                              α.χ + β.χ = τ.χ
                                                              theorem AspPerm.dprod_inv_eq_inv_dprod (τ α β : AspPerm) (h_eq : τ.eq_dprod α β) :
                                                              theorem AspPerm.ramp_dprod_legos (α β : AspPerm) (a b M N : ) (habMN : a - b + α.χ + β.χ = M - N) :
                                                              α.dprod_val_ge β 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.

                                                              Equations
                                                              Instances For
                                                                Equations
                                                                Instances For
                                                                  def AspPerm.M (τ : AspPerm) :
                                                                  Equations
                                                                  Instances For
                                                                    Equations
                                                                    Instances For
                                                                      Equations
                                                                      Instances For
                                                                        theorem AspPerm.M'_eq_M (τ : AspPerm) :
                                                                        τ.M' = τ.M

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

                                                                        theorem AspPerm.M''_eq_M (τ : AspPerm) :
                                                                        τ.M'' = τ.M

                                                                        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.*