Documentation

LeanPool.Wallace.BlockFilters

Block-density filters for the Wallace construction #

This file packages the density-one filter used in the paper. The formulation is deliberately abstract in the finite blocks: the later scheduling module only has to provide nonempty blocks which eventually avoid every finite set and a deletion bound whose relative size tends to zero.

Finite blocks which move to infinity.

Instances For
    def Wallace.BlockSystem.ofBlockPositions (N : ) (hN : ∀ (l : ), 0 < N l) :

    The concrete block system supplied by the triangular preprocessing enumeration. Its blocks have the prescribed cardinalities and partition ; in particular, every finite set of positions meets only finitely many block labels.

    Equations
    Instances For
      @[simp]
      theorem Wallace.BlockSystem.ofBlockPositions_card (N : ) (hN : ∀ (l : ), 0 < N l) (l : ) :
      ((ofBlockPositions N hN).block l).card = N l
      noncomputable def Wallace.BlockSystem.missingRatio (B : BlockSystem) (A : Set ) (l : ) :

      Proportion of a block missing from a set.

      Equations
      Instances For
        theorem Wallace.BlockSystem.missingRatio_mono (B : BlockSystem) {A C : Set } (hAC : AC) (l : ) :

        Sets having block density one along the labels in a.

        Equations
        Instances For

          The block-density-one sets form a filter.

          Equations
          Instances For

            Every cofinite set has block density one. In mathlib's reverse-inclusion order on filters, this says that the density filter lies below the cofinite filter.

            If the label set is infinite, the block-density filter is proper.

            The density filter along an infinite almost-disjoint label set has a free ultrafilter extension. Both refinement inequalities are recorded explicitly.

            Coefficient-independent block labels and ultrafilters #

            @[reducible, inline]
            abbrev Wallace.BlockData.blocks (N : ) (hN : ∀ (l : ), 0 < N l) :

            The block system with the prescribed sizes.

            Equations
            Instances For
              noncomputable def Wallace.BlockData.ultrafilter (N : ) (hN : ∀ (l : ), 0 < N l) (a : TriangularPreprocess.ContinuumIndex) :

              A free ultrafilter refining the density filter of a code's label.

              Equations
              Instances For
                def Wallace.AlmostDisjoint.earlierUnion {ι : Type u_1} {α : Type u_2} [Preorder ι] (family : ιSet α) (j : ι) :
                Set α

                The union of the members that occur strictly before j in an enumeration.

                Equations
                Instances For
                  def Wallace.AlmostDisjoint.disjointize {ι : Type u_1} {α : Type u_2} [Preorder ι] (family : ιSet α) (j : ι) :
                  Set α

                  The standard recursive disjointization from the paper: b_j = a_j \ \bigcup_{i<j} a_i.

                  Equations
                  Instances For
                    theorem Wallace.AlmostDisjoint.disjointize_subset {ι : Type u_1} {α : Type u_2} [Preorder ι] (family : ιSet α) (j : ι) :
                    disjointize family jfamily j
                    theorem Wallace.AlmostDisjoint.pairwise_disjoint_disjointize {ι : Type u_1} {α : Type u_2} [LinearOrder ι] (family : ιSet α) :
                    Pairwise fun (i j : ι) => Disjoint (disjointize family i) (disjointize family j)

                    Disjointization makes any linearly enumerated family pairwise disjoint; no almost-disjointness assumption is needed for this part.

                    theorem Wallace.AlmostDisjoint.disjointize_loss_finite {ι : Type u_1} {α : Type u_2} [LinearOrder ι] (family : ιSet α) (had : Pairwise fun (i j : ι) => (family i family j).Finite) (j : ι) (hpred : (Set.Iio j).Finite) :
                    (family j \ disjointize family j).Finite

                    If a_j has finite intersection with every predecessor and j has only finitely many predecessors, then the disjointization removes only finitely many points.

                    The points retained after deleting E l from every block whose label belongs to b. This is exactly the set U_α in equation (retained) of the paper.

                    Equations
                    Instances For
                      theorem Wallace.BlockSystem.missingRatio_retainedBlocks_le (B : BlockSystem) (b : Set ) (E : Finset ) {l : } (hlb : l b) :
                      B.missingRatio (B.retainedBlocks b E) l (E l).card / (B.block l).card

                      On a retained label, every point missing from the retained union lies in the corresponding deletion set.

                      theorem Wallace.BlockSystem.missingRatio_retainedBlocks_le_bound (B : BlockSystem) (b : Set ) (E : Finset ) (R : ) {l : } (hlb : l b) (hcard : (E l).card R l) :
                      B.missingRatio (B.retainedBlocks b E) l (R l) / (B.block l).card

                      The paper's quantitative estimate deficit ≤ R_l / card(block_l).

                      theorem Wallace.BlockSystem.retainedBlocks_mem_densityFilter (B : BlockSystem) {a b : Set } (E : Finset ) (R : ) (hab : (a \ b).Finite) (hcard : lb, (E l).card R l) (hratio : Filter.Tendsto (fun (l : ) => (R l) / (B.block l).card) Filter.atTop (nhds 0)) :

                      Bounded block deletions with vanishing relative bound are retained by the density filter. The hypothesis a \ b finite records b =* a together with b ⊆ a, which is the precise direction needed for the limit along a.

                      theorem Wallace.BlockSystem.retainedBlocks_mem_densityFilter_ofBlockPositions (N : ) (hN : ∀ (l : ), 0 < N l) {a b : Set } (E : Finset ) (R : ) (hab : (a \ b).Finite) (hcard : lb, (E l).card R l) (hratio : Filter.Tendsto (fun (l : ) => (R l) / (N l)) Filter.atTop (nhds 0)) :

                      Concrete specialization to the triangular preprocessing blocks. The denominator is now the prescribed paper size N l, by blockPositions_card.