Documentation

Demazure.InvSet

structure AspSet_prop (I : Set ( × )) :

The axioms characterizing inversion sets of ASP permutations: directedness, closure, coclosure, and finite in/out degree.

Instances For
    structure AspSet :

    An abstract ASP inversion set: a set of boxes equipped with the axioms of AspSet_prop.

    Instances For
      @[simp]
      theorem mem_AspSet (asps : AspSet) (u v : ) :
      (u, v) asps (u, v) asps.I
      theorem AspSet.ext {A B : AspSet} (hI : A.I = B.I) :
      A = B

      Two AspSets are equal if their underlying sets of boxes are equal.

      @[reducible, inline]
      abbrev AspSet.directed (asps : AspSet) (u v : ) :
      (u, v) asps.Iu < v
      Equations
      • =
      Instances For
        @[reducible, inline]
        abbrev AspSet.closed (asps : AspSet) (u v w : ) :
        (u, v) asps.I(v, w) asps.I(u, w) asps.I
        Equations
        • =
        Instances For
          @[reducible, inline]
          abbrev AspSet.coclosed (asps : AspSet) (u v w : ) :
          u < vv < w(u, v)asps.I(v, w)asps.I(u, w)asps.I
          Equations
          • =
          Instances For
            @[reducible, inline]
            abbrev AspSet.finite_outdegree (asps : AspSet) (u : ) :
            {v : | (u, v) asps.I}.Finite
            Equations
            • =
            Instances For
              @[reducible, inline]
              abbrev AspSet.finite_indegree (asps : AspSet) (v : ) :
              {u : | (u, v) asps.I}.Finite
              Equations
              • =
              Instances For
                theorem AspSet.not_mem_of_ge (asps : AspSet) {m n : } (n_le_m : n m) :
                (m, n)asps
                @[simp]
                theorem AspSet.not_mem_self (asps : AspSet) (n : ) :
                (n, n)asps
                def AspSet.post_lt (asps : AspSet) (m n : ) :

                The order on indices after the inversions in asps are applied.

                Equations
                Instances For
                  @[simp]
                  theorem AspSet.not_post_lt_self (asps : AspSet) (n : ) :
                  ¬asps.post_lt n n
                  theorem AspSet.post_lt_iff_not_mem (asps : AspSet) {m n : } (m_lt_n : m < n) :
                  asps.post_lt m n (m, n)asps
                  theorem AspSet.post_lt_swap_iff_mem (asps : AspSet) {m n : } (m_le_n : m n) :
                  asps.post_lt n m (m, n) asps
                  theorem AspSet.post_lt_trans (asps : AspSet) {l m n : } (hlm : asps.post_lt l m) (hmn : asps.post_lt m n) :
                  asps.post_lt l n
                  Equations
                  Instances For
                    @[reducible, inline]
                    noncomputable abbrev AspSet.inset (asps : AspSet) (n : ) :
                    Equations
                    Instances For
                      @[reducible, inline]
                      noncomputable abbrev AspSet.outset (asps : AspSet) (n : ) :
                      Equations
                      Instances For
                        @[simp]
                        theorem AspSet.mem_inset (asps : AspSet) (n x : ) :
                        x asps.inset n (x, n) asps
                        @[simp]
                        theorem AspSet.mem_outset (asps : AspSet) (n x : ) :
                        x asps.outset n (n, x) asps
                        theorem AspSet.post_Ico_set_finite (asps : AspSet) (m n : ) :
                        {l : | asps.post_lt l n ¬asps.post_lt l m}.Finite

                        The half-open interval for the order post_lt. These are the elements l with m ≤ l < n in the post-inversion order.

                        noncomputable def AspSet.post_Ico (asps : AspSet) (m n : ) :
                        Equations
                        Instances For
                          @[simp]
                          theorem AspSet.mem_post_Ico (asps : AspSet) (m n l : ) :
                          l asps.post_Ico m n asps.post_lt l n ¬asps.post_lt l m
                          theorem AspSet.post_Ico_swap_eq_empty_of_post_lt (asps : AspSet) {m n : } (hmn : asps.post_lt m n) :
                          asps.post_Ico n m =
                          noncomputable def AspSet.recon (asps : AspSet) (χ : ) :

                          Reconstruct a function ℤ → ℤ from an abstract ASP inversion set and a shift parameter χ.

                          Equations
                          Instances For
                            @[reducible, inline]
                            noncomputable abbrev AspSet.σ (asps : AspSet) (χ : ) :
                            Equations
                            Instances For
                              theorem AspSet.σ_diff_post (asps : AspSet) (m n χ : ) (m_le_n : m n) :
                              asps.σ χ n - asps.σ χ m = (asps.post_Ico m n).card - (asps.post_Ico n m).card
                              theorem AspSet.σ_diff_of_post_lt (asps : AspSet) (m n χ : ) (hmn : asps.post_lt m n) :
                              asps.σ χ n - asps.σ χ m = (asps.post_Ico m n).card
                              theorem AspSet.σ_lt_of_post_lt (asps : AspSet) (m n χ : ) (hmn : asps.post_lt m n) :
                              asps.σ χ m < asps.σ χ n
                              theorem AspSet.σ_inc (asps : AspSet) (m n χ : ) (m_lt_n : m < n) (mn_nI : (m, n)asps) :
                              asps.σ χ m < asps.σ χ n
                              theorem AspSet.σ_dec (asps : AspSet) (m n χ : ) (m_lt_n : m < n) (mn_I : (m, n) asps) :
                              asps.σ χ m > asps.σ χ n
                              theorem AspSet.post_lt_iff_σ_lt (asps : AspSet) (m n χ : ) :
                              asps.post_lt m n asps.σ χ m < asps.σ χ n
                              theorem AspSet.not_post_lt_iff_σ_le (asps : AspSet) (m n χ : ) :
                              ¬asps.post_lt m n asps.σ χ n asps.σ χ m
                              theorem AspSet.mem_iff_lt (asps : AspSet) (m n χ : ) (m_le_n : m n) :
                              (m, n) asps asps.σ χ n < asps.σ χ m
                              theorem AspSet.contiguity_helper (asps : AspSet) (m n χ : ) :
                              asps.σ χ ⁻¹' Set.Ico (asps.σ χ m) (asps.σ χ n) = (asps.post_Ico m n)
                              theorem AspSet.func_contiguous (asps : AspSet) (m n χ : ) (σ_m_lt_n : asps.σ χ m < asps.σ χ n) (k : ) :
                              asps.recon χ m kk < asps.recon χ n∃ (l : ), k = asps.recon χ l

                              Reconstructing ASP Permutations from ASP Sets #

                              Starting from an abstract ASP set asps and a shift χ, this section proves that the reconstructed function is bijective, ASP, and has the expected inversion data, yielding an AspPerm.

                              theorem AspSet.invSet_func (asps : AspSet) (χ : ) :
                              inv_set (asps.recon χ) = asps

                              The reconstructed function has the prescribed inversion set.

                              theorem AspSet.inset_eq_nw (asps : AspSet) (χ n : ) :
                              (asps.inset n) = northwest_set (asps.σ χ) (asps.σ χ n + 1) n
                              theorem AspSet.outset_eq_se (asps : AspSet) (χ n : ) :
                              (asps.outset n) = southeast_set (asps.σ χ) (asps.σ χ n) (n + 1)
                              theorem AspSet.surj_helper_up (asps : AspSet) (χ m : ) (n : ) :
                              xm, asps.recon χ x asps.recon χ m + n
                              theorem AspSet.surj_helper_down (asps : AspSet) (χ m : ) (n : ) :
                              xm, asps.recon χ x asps.recon χ m - n
                              theorem AspSet.func_surjective (asps : AspSet) (χ : ) :

                              The function reconstructed from an ASP set and a shift is surjective.

                              theorem AspSet.func_asp (asps : AspSet) (χ : ) :
                              is_asp (asps.recon χ)
                              noncomputable def AspSet.toAspPerm (asps : AspSet) (χ : ) :

                              Package the function reconstructed from an ASP set and a shift as an AspPerm.

                              Equations
                              Instances For
                                theorem AspSet.invSet_of_toAspPerm (asps : AspSet) (χ : ) :
                                inv_set (asps.toAspPerm χ).func = asps
                                theorem AspSet.inset_of_toAspPerm (asps : AspSet) (χ n : ) :
                                (asps.toAspPerm χ).inset n = (asps.inset n)
                                theorem AspSet.outset_of_toAspPerm (asps : AspSet) (χ n : ) :
                                (asps.toAspPerm χ).outset n = (asps.outset n)
                                theorem AspSet.chi_of_toAspPerm (asps : AspSet) (χ : ) :
                                (asps.toAspPerm χ).χ = χ

                                ASP permutations are equivalent to abstract ASP inversion sets together with a shift parameter.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem AspSet.invSets_of_AspPerms (I : Set ( × )) (χ : ) :
                                  (∃ (τ : AspPerm), inv_set τ.func = I τ.χ = χ) AspSet_prop I