Documentation

LeanPool.Wallace.TriangularPreprocess

Triangular coding and block preprocessing #

This file supplies the unconditional set-theoretic bookkeeping that precedes the character construction. The index set is the canonical well-order of cardinality continuum. All injective sequences in the corresponding free Abelian group are coded, and their codes are assigned distinct indices strictly above every coordinate in the sequence. The second half of the file constructs a genuine subsequence whose prescribed finite blocks are bounded-independent.

The continuum initial ordinal and its free group #

@[reducible, inline]

The canonical well-ordered index type of cardinality continuum.

Equations
Instances For
    @[reducible, inline]

    The free Abelian group on the canonical continuum index.

    Equations
    Instances For
      @[reducible, inline]

      The type of all injective sequences in the free group.

      Equations
      Instances For

        An injective ray along one basis vector.

        Equations
        Instances For

          Countable supports have strict upper bounds #

          Every countable set of continuum indices is strictly bounded.

          A chosen strict upper bound for the support of each coded sequence.

          Equations
          Instances For

            Fresh indices above all supports #

            theorem Wallace.TriangularPreprocess.exists_fresh_above (bound : ContinuumIndexContinuumIndex) (a : ContinuumIndex) (previous : (b : ContinuumIndex) → b < aContinuumIndex) :
            ∃ (i : ContinuumIndex), bound a < i ∀ (b : ContinuumIndex) (h : b < a), previous b h i

            Transfinite fresh-index assignment. At stage a, it avoids all values assigned below a and lies strictly above bound a.

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

              Blockwise bounded-independence selection #

              Bounded independence is inherited by finite subsets.

              theorem Wallace.TriangularPreprocess.exists_index_gt_avoiding_finset {G : Type u_1} {u : G} (hu : Function.Injective u) (B : Finset G) (k : ) :
              ∃ (m : ), k < m u mB

              An injective sequence has arbitrarily late terms outside any fixed finite set.

              noncomputable def Wallace.TriangularPreprocess.blockSubsequenceIndex {G : Type u_1} [AddCommGroup G] (u : G) (hu : Function.Injective u) (M block : ) (n : ) :

              The actual source-index subsequence selected by the state recursion.

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

                A cutoff beyond every position in a finite set.

                Equations
                Instances For
                  theorem Wallace.TriangularPreprocess.exists_blockwise_boundedIndependent_subsequence {G : Type u_1} [AddCommGroup G] [IsAddTorsionFree G] [DecidableEq G] (u : G) (hu : Function.Injective u) (block M : ) (hfinite : ∀ (l : ), {n : | block n = l}.Finite) :
                  ∃ (φ : ), StrictMono φ ∀ (l : ), FiniteCombinatorics.BoundedIndependent (M l) (Finset.image (fun (n : ) => u (φ n)) .toFinset)

                  Generic block preprocessing. block n specifies which finite block contains output position n. Each block may have any prescribed positive finite size; only finiteness is needed by the selection argument.

                  The consecutive block partition used in the paper #

                  The first position of block l, namely ∑ j < l, N j. This is the paper's S_l.

                  Equations
                  Instances For
                    theorem Wallace.TriangularPreprocess.index_le_blockStart (N : ) (hN : ∀ (l : ), 0 < N l) (l : ) :
                    def Wallace.TriangularPreprocess.blockOf (N : ) (hN : ∀ (l : ), 0 < N l) (n : ) :

                    The unique block label whose consecutive half-open interval contains n.

                    Equations
                    Instances For
                      theorem Wallace.TriangularPreprocess.blockOf_spec (N : ) (hN : ∀ (l : ), 0 < N l) (n : ) :
                      blockStart N (blockOf N hN n) n n < blockStart N (blockOf N hN n + 1)
                      def Wallace.TriangularPreprocess.blockPositions (N : ) (_hN : ∀ (l : ), 0 < N l) (l : ) :

                      The finite interval I_l = [S_l, S_l + N_l) used in the paper.

                      Equations
                      Instances For
                        theorem Wallace.TriangularPreprocess.mem_blockPositions_iff (N : ) (hN : ∀ (l : ), 0 < N l) {l n : } :
                        n blockPositions N hN l blockOf N hN n = l
                        theorem Wallace.TriangularPreprocess.blockPositions_card (N : ) (hN : ∀ (l : ), 0 < N l) (l : ) :
                        (blockPositions N hN l).card = N l
                        theorem Wallace.TriangularPreprocess.blockFiber_finite (N : ) (hN : ∀ (l : ), 0 < N l) (l : ) :
                        {n : | blockOf N hN n = l}.Finite
                        theorem Wallace.TriangularPreprocess.exists_boundedIndependent_subsequence_for_sizes {G : Type u_1} [AddCommGroup G] [IsAddTorsionFree G] [DecidableEq G] (u : G) (hu : Function.Injective u) (N : ) (hN : ∀ (l : ), 0 < N l) (M : ) :
                        ∃ (φ : ), StrictMono φ ∀ (l : ), (blockPositions N hN l).card = N l FiniteCombinatorics.BoundedIndependent (M l) (Finset.image (fun (n : ) => u (φ n)) (blockPositions N hN l))

                        Block preprocessing for any prescribed sequence of positive finite sizes.

                        The paper's shifted coded sequences #

                        Full block preprocessing. For every triangular code and every prescribed positive block size sequence N and coefficient-bound sequence M, a genuine subsequence is chosen so that the shifted values in each block have exactly size N l and are M l-independent. The original strict support bound is preserved by passage to the subsequence.