Documentation

LeanPool.RegtsSevenster.RS.Novel.Skein.CloseRotateLeft

Mirror rotation of closures #

For an (s,t)-fragment W, a (t,u)-fragment F, and an (s,u)-fragment K,

(W ∘ F) ∗ K  ≃  F ∗ (Wᵀ ∘ K),

where Wᵀ transposes the boundary of W. This is the left-mirror variant of pairCloseComposeRotate.

The inner-pair pullback #

def RS.wkPairs (s t u : ℕ) :
List ((Fin (s + t) ⊕ Fin (s + u)) × (Fin (s + t) ⊕ Fin (s + u)))

The inner composition interface of the left-rotated side, pairing W-low with K-low.

Equations
Instances For
    theorem RS.wkPairs_wf (s t u : ℕ) :

    wkPairs is well-formed.

    The transpose-pullback of interfacePairs gives wkPairs.

    The bridge equiv and ground lemma #

    noncomputable def RS.leftRotBridge (s t u : ℕ) :
    Fin (t + u) ⊕ Fin (s + t) ⊕ Fin (s + u) ≃ (Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)

    The ambient bridge for the left rotation: F ⊔ (W ⊔ K) ≃ (W ⊔ F) ⊔ K.

    Equations
    Instances For

      The bridge-pullback of embedded wkPairs is mBlock.

      The transport composites #

      noncomputable def RS.leftRotM2 (s t u : ℕ) :

      The inner transport: from wkPairs survivors to the boundary of the rotated composition (no swap needed).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def RS.leftRotMR (s t u : ℕ) :
        Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u) ≃ Fragment.FoldSurviving (Fin (t + u) ⊕ Fin (s + t) ⊕ Fin (s + u)) (Fragment.inrPairs (wkPairs s t u))

        The outer bridge transport: from mBlock survivors to the embedded wkPairs fold survivors.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def RS.leftRotE (s t u : ℕ) :
          Fin (0 + (t + u)) ⊕ Fin (t + u + 0) ≃ Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u)

          The composed transport of the right side's closure pairs.

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

            Lifting the closure halves #

            @[reducible, inline]
            abbrev RS.nBlockSwap (s t u : ℕ) :
            List (((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) × ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)))

            The nBlock.map Prod.swap block list.

            Equations
            Instances For
              theorem RS.mem_nBlockSwap (s t u : ℕ) (q : ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) × ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u))) :
              q ∈ nBlockSwap s t u ↔ ∃ (j : Fin t), q = (Sum.inl (Sum.inr ⟨↑j, ⋯⟩), Sum.inl (Sum.inl ⟨s + ↑j, ⋯⟩))

              Membership in nBlockSwap.

              @[reducible, inline]
              abbrev RS.leftRotPairsR (s t u : ℕ) :
              List (((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) × ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)))

              The right-side block list for the left rotation.

              Equations
              Instances For

                Well-formedness of leftRotPairsR.

                theorem RS.leftRot_pairs_lift (s t u : ℕ) :

                The transported closure pairs are the lifted right-side blocks.

                The Q stages #

                noncomputable def RS.leftRotQ1 (s t u : ℕ) :
                List ((Fin (t + u) ⊕ Fragment.FoldSurviving (Fin (t + s) ⊕ Fin (s + u)) (interfacePairs t s u)) × (Fin (t + u) ⊕ Fragment.FoldSurviving (Fin (t + s) ⊕ Fin (s + u)) (interfacePairs t s u)))

                The right side's closure pairs, boundary stage.

                Equations
                Instances For
                  noncomputable def RS.leftRotQ2 (s t u : ℕ) :
                  List ((Fin (t + u) ⊕ Fragment.FoldSurviving (Fin (s + t) ⊕ Fin (s + u)) (wkPairs s t u)) × (Fin (t + u) ⊕ Fragment.FoldSurviving (Fin (s + t) ⊕ Fin (s + u)) (wkPairs s t u)))

                  The right side's closure pairs, inner stage.

                  Equations
                  Instances For
                    noncomputable def RS.leftRotQ3 (s t u : ℕ) :

                    The right side's closure pairs, embedded stage.

                    Equations
                    Instances For
                      noncomputable def RS.leftRotQ4 (s t u : ℕ) :
                      List (Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u) × Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u))

                      The right side's closure pairs, ambient stage.

                      Equations
                      Instances For
                        theorem RS.leftRot_q4_eq (s t u : ℕ) :
                        leftRotQ4 s t u = Fragment.liftPairs (mBlock s t u) (pBlock s t u ++ nBlockSwap s t u) ⋯

                        The fully transported closure pairs are the lifted right-side blocks.

                        The label composite #

                        noncomputable def RS.leftRotLabelR (s t u : ℕ) :
                        Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u ++ (pBlock s t u ++ nBlockSwap s t u)) ≃ Fin (0 + 0)

                        The label composite for the left-rotated right side: peels through every Q-stage and finishes at the empty surviving type.

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

                          The right side, normalized #

                          noncomputable def RS.leftRotNormalRight {s t u : ℕ} (W : Fragment (Fin (s + t))) (F : Fragment (Fin (t + u))) (K : Fragment (Fin (s + u))) :

                          The right side, normalized: the closure of F against the left-rotated composite is iterated gluing of the three interface blocks over the common ambient, m-block first.

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

                            Bridge helpers #

                            Swapping each pair in a liftPairs list amounts to lifting the swapped suffix.

                            theorem RS.leftRotatePairs_perm (s t u : ℕ) :
                            (nBlock s t u ++ (pBlock s t u ++ mBlock s t u)).Perm (mBlock s t u ++ (pBlock s t u ++ nBlock s t u))

                            Permutation from rotatePairsL to the intermediate form mBlock ++ (pBlock ++ nBlock).

                            The meet #

                            theorem RS.leftRot_surv_empty (s t u : ℕ) (x : Fragment.FoldSurviving ((Fin (s + t) ⊕ Fin (t + u)) ⊕ Fin (s + u)) (mBlock s t u ++ (pBlock s t u ++ nBlockSwap s t u))) :

                            No label survives the full left-rotation gluing.

                            The final theorem #

                            theorem RS.leftRotatePairs_assoc_wf (s t u : ℕ) :

                            The reassociated left-rotation pairs form a well-formed gluing list.

                            noncomputable def RS.pairCloseComposeRotateLeft {s t u : ℕ} (W : Fragment (Fin (s + t))) (F : Fragment (Fin (t + u))) (K : Fragment (Fin (s + u))) :

                            Mirror rotation of closures: the closure of a composite equals the closure of the second factor against the left-rotated composite.

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