Documentation

LeanPool.DemazureProduct.SlipFace

Slipfaces #

This file defines slipface functions and develops their basic properties, including the $\star$ (Demazure product) and residuals $\triangleleft$ and $\triangleright$. It corresponds roughly to Section 3, with some essential-set material from Section 7.1, of An extended Demazure product.

A slipface function of shift χ, i.e. a function $s : \mathbb{Z}^2 \to \mathbb{N}$ satisfying conditions (S1) to (S3) from An extended Demazure product:

  • first differences in the a- and b-directions are in {0,1}
  • $s(a,b) \ge \max\{0, \chi + a - b\}$
  • each row and column eventually agrees with $\max\{0, \chi + a - b\}$

Lean stores the function as func and the shift as χ; the article writes this as $s \in \mathrm{SF}_\chi$. Definition 3.1 (defn:slipface) of An extended Demazure product.

Instances For
    theorem LeanPool.DemazureProduct.SF_ext (s t : SlipFace) :
    s = t ∀ (a b : ), s.func a b = t.func a b

    The dual slipface $s^\vee$, characterized by $$ s(a,b) - s^\vee(b,a) = \chi + a - b. $$

    In Lean the dual is sf.dual, and its value at (b,a) is written sf.dual b a. Definition 3.4 (defn:sdual) of An extended Demazure product.

    Equations
    • sf.dual = { func := fun (b a : ) => sf.func a b - a + b - sf.χ, χ := -sf.χ, a_step := , b_step := , nonneg := , ge_diff := , small_a := , large_a := , small_b := , large_b := }
    Instances For
      theorem LeanPool.DemazureProduct.SlipFace.duality (sf : SlipFace) (a b : ) :
      sf.func a b - sf.dual.func b a = a - b + sf.χ
      theorem LeanPool.DemazureProduct.SlipFace.s_eq (sf : SlipFace) (a b : ) :
      sf.func a b = a - b + sf.χ + sf.dual.func b a
      theorem LeanPool.DemazureProduct.SlipFace.s'_eq (sf : SlipFace) (b a : ) :
      sf.dual.func b a = sf.func a b - a + b - sf.χ
      theorem LeanPool.DemazureProduct.SlipFace.ge_max (sf : SlipFace) (a b : ) :
      sf.func a b max 0 (a - b + sf.χ)
      theorem LeanPool.DemazureProduct.SlipFace.gt_iff_special (sf : SlipFace) (a b : ) :
      sf.func a b > max 0 (a - b + sf.χ) sf.func a b > 0 sf.dual.func b a > 0
      theorem LeanPool.DemazureProduct.SlipFace.eq_iff_nonspecial (sf : SlipFace) (a b : ) :
      sf.func a b = max 0 (a - b + sf.χ) sf.func a b = 0 sf.dual.func b a = 0

      The one-sided monotonicity and vanishing conditions providing a simplified criterion for slipfaces.

      These are conditions (D1) and (D2) from An extended Demazure product, extracted into a reusable Lean structure. Properties D1 and D2.

      • a_step (a b : ) : f (a + 1) b f a b
      • b_step (a b : ) : f a (b + 1) f a b
      • large_b (a : ) : ∃ (B : ), bB, f a b = 0
      • small_a (b : ) : ∃ (A : ), aA, f a b = 0
      Instances For
        theorem LeanPool.DemazureProduct.SlipFace.mono_a_of_D_props (f : ) (h : D_props f) (a a' b : ) :
        a a'f a' b f a b
        theorem LeanPool.DemazureProduct.SlipFace.mono_b_of_D_props (f : ) (h : D_props f) (a b b' : ) :
        b b'f a b' f a b
        theorem LeanPool.DemazureProduct.SlipFace.sf_of_D_props {s t : } {χ : } (h : ∀ (a b : ), s a b - t b a = a - b + χ) :
        D_props s D_props t∃ (sf : SlipFace), (sf.func = s sf.χ = χ) sf.dual.func = t

        Construct a slipface from a pair of functions satisfying D_props and the duality relation s a b - t b a = a - b + χ. Lemma 3.6 (lem:dualCrit) of An extended Demazure product, part 1/2.

        Every slipface function and its dual satisfies the D_props, denoted (D1) and (D2). Lemma 3.6 (lem:dualCrit) of An extended Demazure product, part 2/2.

        theorem LeanPool.DemazureProduct.SlipFace.nondec (sf : SlipFace) {a a' b b' : } (a_le_a' : a a') (b'_le_b : b' b) :
        sf.func a b sf.func a' b'
        theorem LeanPool.DemazureProduct.SlipFace.zero_below (sf : SlipFace) {a a' b b' : } (a_le_a' : a a') (b'_le_b : b' b) :
        sf.func a' b' = 0sf.func a b = 0

        Slip valleys and the product formula #

        A Valley is an integer function rising on both sides, which therefore has a well-defined minimum achieved at finitely many places.

        This section packages the minimization problem defining slipface product into a Valley, then uses it to construct the product s ⋆ t and prove its basic properties.

        The valley $\ell \mapsto s(a,\ell) + t(\ell,b)$ whose minimum computes the slipface product at (a,b).

        Equations
        Instances For

          The min-plus product formula $$ (s \star t)(a,b) = \min_{\ell \in \mathbb{Z}} [s(a,\ell) + t(\ell,b)]. $$

          In Lean, starFunc s t a b is this integer value, while s ⋆ t is the resulting SlipFace. See Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.

          Equations
          Instances For

            The product of two slipfaces, obtained from the minimum formula starFunc. See Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.*

            Equations
            Instances For

              Infix notation for the slipface Demazure product.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem LeanPool.DemazureProduct.SlipFace.star_eq_min (s t : SlipFace) (a b : ) :
                IsLeast {x : | ∃ (l : ), s.func a l + t.func l b = x} ((s t).func a b)

                The formula for the Demazure product of slipfaces: $s \star t(a,b) = \min_{l \in \mathbb{Z}} (s(a,l) + t(l,b))$. This unpacks the formal definition of $\star$ into the form of Definition 3.7 (defn:sfAlgebra) of An extended Demazure product, part 1/3.*

                @[simp]

                The shift is additive under $\star$. Proposition 3.9 (prop:sfAlgebraDefined) of An extended Demazure product, part 1/6.*

                @[simp]

                Duality reverses the product . Proposition 3.9 (prop:sfAlgebraDefined) of An extended Demazure product, part 2/6.

                Order structure and comparison with #

                This section defines the Bruhat order on SlipFace and records the basic comparison lemmas relating that order to the product . Definition 3.2 of An extended Demazure product.

                @[implicit_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                theorem LeanPool.DemazureProduct.SlipFace.star_val_le (s t : SlipFace) (a b l : ) :
                (s t).func a b s.func a l + t.func l b
                noncomputable def LeanPool.DemazureProduct.SlipFace.starWit (s t : SlipFace) (a b : ) :

                A minimizer witnessing the slipface Demazure product value at (a, b).

                Equations
                Instances For
                  theorem LeanPool.DemazureProduct.SlipFace.star_wit_spec (s t : SlipFace) (a b : ) :
                  (s t).func a b = s.func a (s.starWit t a b) + t.func (s.starWit t a b) b
                  theorem LeanPool.DemazureProduct.SlipFace.le_star_val_iff (r s t : SlipFace) (a b : ) :
                  r.func a b (s t).func a b ∀ (l : ), r.func a b s.func a l + t.func l b

                  A lower bound for (s ⋆ t) a b is equivalent to a uniform lower bound against every witness l.

                  theorem LeanPool.DemazureProduct.SlipFace.ge_star_val_iff (r s t : SlipFace) (a b : ) :
                  r.func a b (s t).func a b ∃ (l : ), r.func a b s.func a l + t.func l b

                  An upper bound for (s ⋆ t) a b is equivalent to exhibiting a single witness l that realizes it.

                  Monoid structure #

                  The product is associative and has the positive-part function as identity, giving SlipFace a monoid structure.

                  Slipface product is associative. Lemma 3.12 (lem:sfAlgebra) of An extended Demazure product, part 1/3.

                  The identity slipface, given by the positive part of a - b.

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

                    The residual operations and #

                    This section develops the basic properties of the operations $s \triangleleft t$ and $s \triangleright t$ at the level of slipface functions.

                    theorem LeanPool.DemazureProduct.SlipFace.lres_wit_exists (s t : SlipFace) (a b : ) :
                    ∃ (m : ), ∀ (l : ), s.func a l - t.dual.func b l s.func a m - t.dual.func b m
                    noncomputable def LeanPool.DemazureProduct.SlipFace.lresWit (s t : SlipFace) (a b : ) :

                    The argmax witnessing the left residual value $s \triangleleft t (a,b)$.

                    Equations
                    Instances For

                      The left residual function $$ (s \triangleleft t)(a,b) = \max_{\ell \in \mathbb{Z}} \bigl[s(a,\ell) - t^\vee(b,\ell)\bigr]. $$ See Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.

                      Equations
                      Instances For
                        theorem LeanPool.DemazureProduct.SlipFace.lres_val_ge (s t : SlipFace) (a b l : ) :
                        s.func a l - t.dual.func b l s.lresFunc t a b

                        Every value $s(a,\ell) - t^\vee(b,\ell)$ is at most $s \triangleleft t (a,b)$.

                        The left residual is nonnegative, since for l ≫ 0 both terms in the maximizing expression vanish.

                        noncomputable def LeanPool.DemazureProduct.SlipFace.rresWit (s t : SlipFace) (a b : ) :

                        The argmax witnessing the right residual value $s \triangleright t (a,b)$.

                        Equations
                        Instances For

                          The right residual function $$ (s \triangleright t)(a,b) = \max_{\ell \in \mathbb{Z}} \bigl[t(\ell,b) - s^\vee(\ell,a)\bigr]. $$ Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.

                          Equations
                          Instances For
                            theorem LeanPool.DemazureProduct.SlipFace.rres_val_ge (s t : SlipFace) (a b l : ) :
                            t.func l b - s.dual.func l a s.rresFunc t a b

                            Every value $t(\ell,b) - s^\vee(\ell,a)$ is at most $s \triangleright t (a,b)$.

                            The right residual is nonnegative, since for l ≪ 0 both terms in the maximizing expression vanish.

                            The left residual of two slipfaces, obtained from the maximum formula lresFunc. See Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.

                            Equations
                            Instances For

                              Infix notation for the slipface left residual.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem LeanPool.DemazureProduct.SlipFace.lres_wit_spec (s t : SlipFace) (a b : ) :
                                (s t).func a b = s.func a (s.lresWit t a b) - t.dual.func b (s.lresWit t a b)
                                theorem LeanPool.DemazureProduct.SlipFace.lres_eq_max (s t : SlipFace) (a b : ) :
                                IsGreatest {x : | ∃ (l : ), s.func a l - t.dual.func b l = x} ((s t).func a b)

                                The left residual $s \triangleleft t$ of slipfaces satisfies the defining equation $(s ◃ t)(a,b) = \max_{\ell \in \mathbb{Z}} (s(a,\ell) - t^\vee(b,\ell))$. This is simply an unwinding of the formal definition to obtain the formula as stated in Definition 3.7 (defn:sfAlgebra) of An extended Demazure product, part 2/3.*

                                @[simp]

                                The shift is additive under left residual. Proposition 3.9 (prop:sfAlgebraDefined) of An extended Demazure product, part 3/6.*

                                The right residual of two slipfaces, defined by duality from left residual. See Definition 3.7 (defn:sfAlgebra) of An extended Demazure product.

                                Equations
                                Instances For

                                  Infix notation for the slipface right residual.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem LeanPool.DemazureProduct.SlipFace.rres_wit_spec (s t : SlipFace) (a b : ) :
                                    (s t).func a b = t.func (s.rresWit t a b) b - s.dual.func (s.rresWit t a b) a
                                    theorem LeanPool.DemazureProduct.SlipFace.rres_eq_max (s t : SlipFace) (a b : ) :
                                    IsGreatest {x : | ∃ (l : ), t.func l b - s.dual.func l a = x} ((s t).func a b)

                                    The right residual $s \triangleright t$ of slipfaces satisfies the defining equation $(s ▹ t)(a,b) = \max_{\ell \in \mathbb{Z}} (t(\ell,b) - s^\vee(\ell,a))$. This is simply an unwinding of the formal definition to obtain the formula as stated in Definition 3.7 (defn:sfAlgebra) of An extended Demazure product, part 3/3.*

                                    @[simp]

                                    The shift is additive under right residual. Proposition 3.9 (prop:sfAlgebraDefined) of An extended Demazure product, part 4/6.*

                                    @[simp]

                                    The stated left/right residual duality. Proposition 3.9 (prop:sfAlgebraDefined) of An extended Demazure product, part 5/6.

                                    @[simp]

                                    The corresponding right/left residual duality, obtained by applying the left/right duality to dual slipfaces. Consequence of Proposition 3.9 (prop:sfAlgebraDefined) in An extended Demazure product, part 6/6.

                                    A small set on which witnesses to the value $s \star t (a,b)$ always occur. Lemma 3.13 (lem:setL) of An extended Demazure product, part 1/5.

                                    Equations
                                    Instances For
                                      theorem LeanPool.DemazureProduct.SlipFace.bend_set_witness (s t : SlipFace) (a b : ) :
                                      lt.bendSet b, (s t).func a b = s.func a l + t.func l b

                                      Lemma 3.13 (lem:setL) of An extended Demazure product, part 3/5.

                                      theorem LeanPool.DemazureProduct.SlipFace.bend_set_witness_lres (s t : SlipFace) (a b : ) :
                                      lt.bendSet b, (s t).func a b = s.func a l - t.dual.func b l

                                      Lemma 3.13 (lem:setL) of An extended Demazure product, part 4/5.

                                      Minimal slipfaces in each shift #

                                      The slipface $s_{\iota_n}$, which is the minimal slipface of shift $n$. It is given simply by $s(a,b) = \max(a - b + n, 0)$.

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

                                        Monotonicity, adjointness, and associativity #

                                        theorem LeanPool.DemazureProduct.SlipFace.star_mono {s₁ s₂ t₁ t₂ : SlipFace} (hs : s₁ s₂) (ht : t₁ t₂) :
                                        s₁ t₁ s₂ t₂

                                        The $\star$ operation is Bruhat-increasing in both arguments. Lemma 3.8 (lem:compatLeq) of An extended Demazure product, part 1/3.

                                        theorem LeanPool.DemazureProduct.SlipFace.lres_mono {s₁ s₂ t₁ t₂ : SlipFace} (hs : s₁ s₂) (ht : t₁ t₂) :
                                        s₁ t₂.dual s₂ t₁.dual

                                        The residual (s, t) ↦ s ◃ t.dual is increasing in s and decreasing in t. Lemma 3.8 (lem:compatLeq) of An extended Demazure product, part 2/3.

                                        theorem LeanPool.DemazureProduct.SlipFace.rres_mono {s₁ s₂ t₁ t₂ : SlipFace} (hs : s₁ s₂) (ht : t₁ t₂) :
                                        t₂.dual s₁ t₁.dual s₂

                                        The residual (s, t) ↦ t.dual ▹ s is increasing in s and decreasing in t. Lemma 3.8 (lem:compatLeq) of An extended Demazure product, part 3/3.

                                        The left residual $u \triangleleft t^∨$ as a Bruhat minimum: the minimum slipface such that $s \star t ≥ u$. Lemma 3.10 (lem:sfOpChar) of An extended Demazure product, part 1/2.

                                        The right residual $s^∨ \triangleright u$ as a Bruhat minimum: the minimum slipface such that $s \star t ≥ u$. Lemma 3.10 (lem:sfOpChar) of An extended Demazure product, part 2/2.

                                        Left residual associates with the product on the right. Lemma 3.12 (lem:sfAlgebra) of An extended Demazure product, part 2/3.

                                        Right residual associates with the product on the left. Lemma 3.12 (lem:sfAlgebra) of An extended Demazure product, part 3/3.

                                        The mixed difference Δ #

                                        This section studies the discrete mixed difference Δ, its behavior under duality, and the finite summation identities used later in submodularity arguments.

                                        The mixed difference $$ \Delta s(a,b) = s(a+1,b) - s(a,b) - s(a+1,b+1) + s(a,b+1). $$

                                        In Lean this is written sf.Δ a b.

                                        Equations
                                        Instances For
                                          theorem LeanPool.DemazureProduct.SlipFace.Δ_dual (sf : SlipFace) (a b : ) :
                                          sf.dual.Δ b a = sf.Δ a b

                                          Duality preserves the mixed difference Δ after swapping the coordinates. Equation (20) (eq:DeltasDual) of An extended Demazure product.

                                          theorem LeanPool.DemazureProduct.SlipFace.Δ_values (sf : SlipFace) (a b : ) :
                                          sf.Δ a b = 0 sf.Δ a b = 1 sf.Δ a b = -1
                                          theorem LeanPool.DemazureProduct.SlipFace.Δ_zero_of_s_zero (sf : SlipFace) (a b : ) (h0 : sf.func (a + 1) b = 0) :
                                          sf.Δ a b = 0
                                          theorem LeanPool.DemazureProduct.SlipFace.sum_a (sf : SlipFace) {a₁ a₂ : } (ha : a₁ a₂) (b : ) :
                                          aFinset.Ico a₁ a₂, sf.Δ a b = sf.func a₂ b - sf.func a₂ (b + 1) - (sf.func a₁ b - sf.func a₁ (b + 1))
                                          theorem LeanPool.DemazureProduct.SlipFace.sum_b (sf : SlipFace) (a : ) {b₁ b₂ : } (hb : b₁ b₂) :
                                          bFinset.Ico b₁ b₂, sf.Δ a b = sf.func (a + 1) b₁ - sf.func a b₁ - (sf.func (a + 1) b₂ - sf.func a b₂)
                                          theorem LeanPool.DemazureProduct.SlipFace.sum_ab (sf : SlipFace) {a₁ a₂ b₁ b₂ : } (ha : a₁ a₂) (hb : b₁ b₂) :
                                          bFinset.Ico b₁ b₂, aFinset.Ico a₁ a₂, sf.Δ a b = sf.func a₂ b₁ - sf.func a₁ b₁ - (sf.func a₂ b₂ - sf.func a₁ b₂)

                                          Summing Δ over a rectangle recovers the corresponding boundary term in sf. Modification of Equation (19) (eq:sumDelta) of An extended Demazure product to a finite sum.

                                          A slipface is submodular if $\Delta s(a,b) \ge 0$ for all a, b. Definition 4.2 (defn:submodular) of An extended Demazure product.

                                          Equations
                                          Instances For

                                            The set of boxes where the mixed difference Δ is equal to 1, as defined in the proof of Proposition 4.3 (prop:imageASP) of An extended Demazure product.*

                                            Equations
                                            Instances For

                                              The essential set of a slipface #

                                              This section includes the content of §7.1 of An extended Demazure product, about the essential set of a slipface.

                                              The essential set of a slipface $s$ is the set $\operatorname{Ess}(s) = \{ (a,b) \in \mathbb{Z}^2: s(a-1,b) < s(a,b) = s(a+1,b) \mbox{ and } s(a,b+1) < s(a,b) = s(a,b-1) \}.$

                                              Equations
                                              Instances For
                                                theorem LeanPool.DemazureProduct.SlipFace.ess_step (s t : SlipFace) (a b : ) (wit : s.func a b > t.func a b) :
                                                (a, b)s.ess∃ (a' : ) (b' : ), (a', b') {(a - 1, b), (a + 1, b), (a, b - 1), (a, b + 1)} s.func a' b' > t.func a' b' s.func a b + s.dual.func b a < s.func a' b' + s.dual.func b' a'

                                                Lemma 7.2 (lem:essSetMoves) of An extended Demazure product.

                                                Definition 7.3 (defn:cliffordSF) of An extended Demazure product.

                                                Equations
                                                Instances For
                                                  theorem LeanPool.DemazureProduct.SlipFace.ess_clifford (s t : SlipFace) (cliff : s.isClifford) :
                                                  s t s.χ t.χ ∀ (a b : ), (a, b) s.esss.func a b t.func a b