Documentation

LeanPool.SmallUndecidableGroups.Thue.Matiyasevich.PriorityStage

The power-of-two padding, transposition, and first priority block from Sections 2.3--2.4 of Matiyasevich (1995). This file is deliberately parameterized by the binary rule words; the preceding binary encoding stage supplies those words and their common-length/code-language properties.

@[reducible, inline]

The three-letter alphabet used in the priority stage.

Equations
Instances For

    The first letter of the priority-stage alphabet.

    Equations
    Instances For

      The second letter of the priority-stage alphabet.

      Equations
      Instances For

        The separator letter of the priority-stage alphabet.

        Equations
        Instances For

          The exponent u for the least power t = 2^u not below r.

          Equations
          Instances For

            Repeat the first relation when the original list is extended to 2^u relations. The paper repeats the last relation; either choice has the same effect.

            Equations
            Instances For
              def Undecidability.Thue.Matiyasevich1993.Priority.paddedSide {r : ℕ} (hr : 0 < r) {α : Type u_1} (W : Fin r → List α) (i : Fin (powerCount r)) :
              List α

              A rule-word family repeated to the least power-of-two row count.

              Equations
              Instances For

                A column of a rectangular family of words.

                Equations
                Instances For

                  Consecutive columns, starting at column j.

                  Equations
                  Instances For

                    The column-major words L and M displayed at the bottom of page 48.

                    Equations
                    Instances For
                      @[simp]
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.columnsFrom_succ {t : ℕ} (rows : Fin t → List (Fin 2)) (j k : ℕ) :
                      columnsFrom rows j (k + 1) = column rows j ++ columnsFrom rows (j + 1) k
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.columnsFrom_length {t width : ℕ} (rows : Fin t → List (Fin 2)) (start : ℕ) :
                      (columnsFrom rows start width).length = width * t
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.transpose_length {t width : ℕ} (rows : Fin t → List (Fin 2)) :
                      (transpose width rows).length = width * t
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.column_zero_of_starts_aa {t : ℕ} (rows : Fin t → List (Fin 2)) (hrows : ∀ (i : Fin t), ∃ (tail : List (Fin 2)), rows i = 0 :: 0 :: tail) :
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.column_one_of_starts_aa {t : ℕ} (rows : Fin t → List (Fin 2)) (hrows : ∀ (i : Fin t), ∃ (tail : List (Fin 2)), rows i = 0 :: 0 :: tail) :
                      theorem Undecidability.Thue.Matiyasevich1993.Priority.transpose_starts_two_columns {t width : ℕ} (rows : Fin t → List (Fin 2)) (hwidth : 2 ≤ width) (hrows : ∀ (i : Fin t), ∃ (tail : List (Fin 2)), rows i = 0 :: 0 :: tail) :
                      ∃ (tail : List (Fin 2)), transpose width rows = List.replicate (2 * t) 0 ++ tail

                      The long word begins with 2t copies of a, the fact used on page 50.

                      The first priority block #

                      Move one e rightwards through pairs of binary letters. On a binary word this retains every second letter and leaves the e at the end.

                      Equations
                      Instances For

                        Canonical normalization for rules (20)--(23), processing from right to left.

                        Equations
                        Instances For

                          The four left sides (20)--(23), using the local names for a,b,e.

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

                            The four right sides (20)--(23).

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

                              One use of a housekeeping rule in any two-sided context preserves the first priority normal form.

                              One directed rewrite from the first priority block.

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

                                The reflexive transitive closure of the first-stage housekeeping rewrite relation.

                                Equations
                                Instances For

                                  Greedily moving one e is itself a directed derivation.

                                  Every word reduces to the canonical value computed by firstNormal.

                                  The e-count and the final alignment argument #

                                  Equation (11) for i=1: append a e^u to the binary encoding.

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

                                    Absence of a run aaa.

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

                                      A word contains k consecutive copies of a.

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

                                        On a binary run, pushE keeps every second letter.

                                        A possible one-letter parity offset before an even run does not affect the sharp halving estimate.

                                        The sharp run estimate for one first-priority normalization step: one e can at most halve the length of an a-run.

                                        After normalizing a prefix X, every one of its e letters can have halved a following run at most once.

                                        The elementary but nontrivial run estimate invoked on page 50: destroying a run of run many a's while producing a first-block normal form with no aaa requires at least u occurrences of e in the left context.

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

                                          The quantitative assertion used on page 50. The transposed long side starts with 2t = 2 * 2^u copies of a; if fewer than u priority letters occur to its left, at least four consecutive a's survive normalization.

                                          The invariant furnished by equation (25): every reachable first priority normal form remains in the binary code language and hence has no aaa.

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

                                            The exact shape needed from the transposed words: the initial 2t copies of a and a final b.

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

                                              Decode a long side with a residual d inside arbitrary contexts.

                                              Excluding the residual decoder alignment #

                                              theorem Undecidability.Thue.Matiyasevich1993.Priority.long_aligned_of_decoded_reachable {u run : ℕ} {L M X : List A₂} {W : List (Fin 2)} (hLM : eCount L = eCount M) (hX : eCount X = u) (hNoAAA : ReachableNoAAA L M X) (hRun : LongRunRequirement u run) (hshapeL : LongShape run L) (hshapeM : LongShape run M) (hdecode : ThueEq (stage₂System L M) X (phi₂ W)) (l r : List (Fin 2)) :
                                              W = l ++ rho₂ L ++ r ∨ W = l ++ rho₂ M ++ r → rho₂ (phi₂ r) = r

                                              If the two invariants isolated on page 50 hold, then an occurrence of the long final relation cannot be followed by the residual unmatched d. This is the counting core of the converse T₃ → T₂: the initial run of a's forces all u priority letters into the left context, while decoding the residual d creates one additional e.

                                              theorem Undecidability.Thue.Matiyasevich1993.Priority.final_decode_and_aligned {u run : ℕ} {L M X : List A₂} {W : List (Fin 2)} (hLM : eCount L = eCount M) (hX : eCount X = u) (hNoAAA : ReachableNoAAA L M X) (hRun : LongRunRequirement u run) (hshapeL : LongShape run L) (hshapeM : LongShape run M) (hfinal : ThueEq (baseSystem (rho₂ L) (rho₂ M)) (rho₂ X) W) :
                                              ThueEq (stage₂System L M) X (phi₂ W) ∧ ∀ (l r : List (Fin 2)), W = l ++ rho₂ L ++ r ∨ W = l ++ rho₂ M ++ r → rho₂ (phi₂ r) = r

                                              Simultaneously decode a final-system derivation and establish the alignment invariant required for its next long-rule step. The simultaneous induction avoids any circularity: alignment at the current word decodes the next step, and the decoded prefix derivation re-establishes alignment at the new word by long_aligned_of_decoded_reachable.

                                              theorem Undecidability.Thue.Matiyasevich1993.Priority.longRuleAlignedFrom_of_invariants {u run : ℕ} {L M X : List A₂} (hLM : eCount L = eCount M) (hX : eCount X = u) (hNoAAA : ReachableNoAAA L M X) (hRun : LongRunRequirement u run) (hshapeL : LongShape run L) (hshapeM : LongShape run M) :

                                              The page-50 invariants imply the exact alignment predicate consumed by the final-stage reflection theorem.

                                              theorem Undecidability.Thue.Matiyasevich1993.Priority.rho₂_iff_of_priority_invariants {u run : ℕ} {L M X : List A₂} (hLM : eCount L = eCount M) (hX : eCount X = u) (hNoAAA : ReachableNoAAA L M X) (hRun : LongRunRequirement u run) (hshapeL : LongShape run L) (hshapeM : LongShape run M) (Y : List A₂) :

                                              A convenient conditional form of equivalence (10), with the two priority invariants made explicit.