Documentation

LeanPool.BrillNoetherGraphs.Bananas.Transmission.KGeneralSwap

Swapping the marks of a graph with general transmission #

Swapping the two marked vertices replaces a raw transmission permutation tau by its reflected inverse

b |-> -tau^{-1}(-b).

This file proves that affine inversion count is unchanged by this operation and consequently that KGeneralTransmission is independent of the ordering of the two marks.

noncomputable def Bananas.rawInverse (tau : ℤ → ℤ) :
ℤ → ℤ

The inverse of a bijection, kept at the raw-function level used by IsTransmissionPermutation.

Equations
Instances For
    @[simp]
    theorem Bananas.rawInverse_apply_apply (tau : ℤ → ℤ) (hBij : Function.Bijective tau) (n : ℤ) :
    rawInverse tau (tau n) = n
    theorem Bananas.apply_rawInverse_apply (tau : ℤ → ℤ) (hBij : Function.Bijective tau) (n : ℤ) :
    tau (rawInverse tau n) = n
    theorem Bananas.IsKAffine.rawInverse {k : ℕ} {tau : ℤ → ℤ} (hAffine : IsKAffine k tau) (hBij : Function.Bijective tau) :

    Inverting a bijective affine function preserves its period.

    Reflection in both the domain and range.

    Equations
    Instances For
      noncomputable def Bananas.swapTransmissionPermutation (tau : ℤ → ℤ) :
      ℤ → ℤ

      The reflected inverse is the raw transmission permutation after swapping the two marks.

      Equations
      Instances For
        def Bananas.shiftPair (k : ℕ) (q : ℤ) (p : ℤ × ℤ) :

        Simultaneously translate a pair by an integral number of periods.

        Equations
        Instances For

          Normalize the first coordinate of a pair into the standard period.

          Equations
          Instances For
            theorem Bananas.normalizeFirstPair_shiftPair_of_fundamental {k : ℕ} (hk : 0 < k) (p : ℤ × ℤ) (hp0 : 0 ≤ p.1) (hpk : p.1 < ↑k) (q : ℤ) :

            Normalization removes any simultaneous period translate from a pair whose first coordinate is already in the standard period.

            theorem Bananas.IsKAffine.map_shiftPair {k : ℕ} {tau : ℤ → ℤ} (hAffine : IsKAffine k tau) (q : ℤ) (p : ℤ × ℤ) :
            (tau (shiftPair k q p).1, tau (shiftPair k q p).2) = shiftPair k q (tau p.1, tau p.2)

            Applying an affine function to a simultaneous period translate translates both values by the same period.

            noncomputable def Bananas.inverseInversionPair (tau : ℤ → ℤ) (p : ℤ × ℤ) :

            The pair map taking an inversion of an inverse permutation back to the corresponding inversion of the original permutation.

            Equations
            Instances For

              The pair map taking an inversion to the corresponding inversion of the inverse permutation.

              Equations
              Instances For
                noncomputable def Bananas.normalizedInverseToOriginal (k : ℕ) (tau : ℤ → ℤ) (p : ℤ × ℤ) :

                Normalize the inversion of the original permutation associated to an inversion of its inverse.

                Equations
                Instances For

                  Normalize the inversion of the inverse permutation associated to an inversion of the original.

                  Equations
                  Instances For
                    theorem Bananas.inverseInversionPair_shiftPair {k : ℕ} {tau : ℤ → ℤ} (hBij : Function.Bijective tau) (hAffine : IsKAffine k tau) (q : ℤ) (p : ℤ × ℤ) :
                    theorem Bananas.inversionInversePair_shiftPair {k : ℕ} {tau : ℤ → ℤ} (hAffine : IsKAffine k tau) (q : ℤ) (p : ℤ × ℤ) :
                    theorem Bananas.normalizedInverseToOriginal_mem {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hBij : Function.Bijective tau) (hAffine : IsKAffine k tau) {p : ℤ × ℤ} (hp : p ∈ kInversions k (rawInverse tau)) :
                    theorem Bananas.normalizedOriginalToInverse_mem {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hBij : Function.Bijective tau) (hAffine : IsKAffine k tau) {p : ℤ × ℤ} (hp : p ∈ kInversions k tau) :
                    theorem Bananas.normalizedInverseToOriginal_normalizedOriginalToInverse {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hBij : Function.Bijective tau) (hAffine : IsKAffine k tau) {p : ℤ × ℤ} (hp : p ∈ kInversions k tau) :
                    theorem Bananas.kInversionCount_rawInverse {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hBij : Function.Bijective tau) (hAffine : IsKAffine k tau) :

                    Inversion preserves the number of affine-period inversion classes.

                    Reflection in the origin preserves bijectivity.

                    theorem Bananas.IsKAffine.affineReflection {k : ℕ} {tau : ℤ → ℤ} (hAffine : IsKAffine k tau) :

                    Reflection in the origin preserves a positive affine period.

                    Reverse a pair and negate both entries. This carries inversions of a reflected permutation to inversions of the original permutation.

                    Equations
                    Instances For

                      Normalize the original inversion corresponding to an inversion of the reflected permutation. The same map, with source and target exchanged, is its inverse.

                      Equations
                      Instances For
                        theorem Bananas.normalizedReflectionInversion_mem {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hAffine : IsKAffine k tau) {p : ℤ × ℤ} (hp : p ∈ kInversions k (rawAffineReflection tau)) :
                        theorem Bananas.kInversionCount_affineReflection {k : ℕ} {tau : ℤ → ℤ} (hk : 0 < k) (hAffine : IsKAffine k tau) :

                        Reflection in the origin preserves the number of affine-period inversion classes.

                        Swapping a raw transmission permutation preserves its affine inversion count.

                        theorem Bananas.rankDelta_mark_swap (G : CFGraph) (u v : G.V) (D : CFDiv G) :
                        rankDelta (mark G v u) D = rankDelta (mark G u v) D

                        The marked second rank difference is symmetric in the ordered marks.

                        The reflected inverse is exactly the raw transmission permutation after the order of the two marked vertices is exchanged.

                        theorem Bananas.torsionWitness_swap {G : CFGraph} (u v : G.V) {k : ℕ} (h : TorsionWitness (mark G u v) k) :

                        A torsion period is unchanged when the two marked vertices are exchanged.

                        theorem Bananas.torsionWitness_swap_iff {G : CFGraph} (u v : G.V) {k : ℕ} :

                        Submodularity of every divisor is unchanged by ordering the marks.

                        k-general transmission is independent of the ordering of the two marked vertices.