Documentation

LeanPool.TrilinearHilbertTransform.Auto.Sec02LatticeTorusFacts

Section 2: Elementary lattice and torus facts #

This file was automatically generated by Claude.

Formalization of blueprint Section 2, "Elementary lattice and torus facts" (sec:lattices, lines 254-362) of blueprint/formalization_blueprint.tex.

The reduced-basis estimates imply a uniform bound on each coefficient weighted by its basis-vector length; used in blueprint lem:lattice-box.

noncomputable def TrilinearHT.Auto.latticeBoxSideLength {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (b : Module.Basis (Fin n) ℝ E) (i : Fin n) :

The printed floored side length; zero lengths will be discarded.

Equations
Instances For
    noncomputable def TrilinearHT.Auto.latticeBoxIndices {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (b : Module.Basis (Fin n) ℝ E) :

    The part of the lattice basis retained in the coefficient box.

    Equations
    Instances For
      def TrilinearHT.Auto.integerCoefficientBox {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (b : Module.Basis (Fin n) ℝ E) (I : Finset (Fin n)) (L : Fin n → ℤ) :
      Set E

      An integer coefficient box on the selected part of a basis.

      Equations
      Instances For
        theorem TrilinearHT.Auto.latticeBoxSideLength_weight_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (hn : 0 < n) (b : Module.Basis (Fin n) ℝ E) (i : Fin n) :
        ↑(latticeBoxSideLength b i) * ‖b i‖ ≤ (4 * ↑n)⁻¹
        theorem TrilinearHT.Auto.latticeBoxSideLength_sum_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (hn : 0 < n) (b : Module.Basis (Fin n) ℝ E) :
        ∑ i : Fin n, ↑(latticeBoxSideLength b i) * ‖b i‖ ≤ 1 / 4

        Blueprint lem:lattice-box, line 336: the total length budget is 1/4.

        noncomputable def TrilinearHT.Auto.latticeBoxRadius (n : ℕ) :

        The explicit radius (100d)^(-10d) from blueprint lem:lattice-box.

        Equations
        Instances For
          theorem TrilinearHT.Auto.exists_integer_basis_coordinates {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (b : Module.Basis (Fin n) ℝ E) {v : E} (hv : v ∈ Submodule.span ℤ (Set.range ⇑b)) :
          ∃ (z : Fin n → ℤ), (∀ (i : Fin n), ↑(z i) = (b.repr v) i) ∧ ∑ i : Fin n, z i • b i = v

          Integer coordinates in a real basis of its integer span.

          Blueprint lem:lattice-box, lines 337–342: every lattice vector with norm at most the explicit radius belongs to the selected coefficient box.

          theorem TrilinearHT.Auto.coefficientBox_partial_sum_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (hn : 0 < n) (b : Module.Basis (Fin n) ℝ E) (z : Fin n → ℤ) (hz : ∀ i ∉ latticeBoxIndices b, z i = 0) (hbound : ∀ i ∈ latticeBoxIndices b, |z i| ≤ latticeBoxSideLength b i) (s : Finset (Fin n)) :
          ‖∑ i ∈ s, z i • b i‖ ≤ 1 / 4

          Every partial coordinate sum in the selected coefficient box has norm at most 1/4, as required in blueprint lem:lattice-box.

          theorem TrilinearHT.Auto.smallBallCoefficientBox {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] {n : ℕ} (hn : 0 < n) (b : Module.Basis (Fin n) ℝ E) :
          ∃ (c : Module.Basis (Fin n) ℝ E) (I : Finset (Fin n)) (L : Fin n → ℤ), Submodule.span ℤ (Set.range ⇑c) = Submodule.span ℤ (Set.range ⇑b) ∧ (∀ i ∈ I, 1 ≤ L i) ∧ Metric.closedBall 0 (latticeBoxRadius n) ∩ ↑(Submodule.span ℤ (Set.range ⇑b)) ⊆ integerCoefficientBox c I L ∧ integerCoefficientBox c I L ⊆ Metric.closedBall 0 (1 / 4) ∧ ∀ (z : Fin n → ℤ), (∀ i ∉ I, z i = 0) → (∀ i ∈ I, |z i| ≤ L i) → ∀ (s : Finset (Fin n)), ‖∑ i ∈ s, z i • c i‖ ≤ 1 / 4

          Blueprint lem:lattice-box, complete statement: a part of a lattice basis with positive integer side lengths contains the closed radius (100d)^(-10d) lattice ball and lies in the closed radius 1/4 ball; every partial coordinate sum satisfies the same outer bound.

          @[reducible, inline]

          The standard real torus used in blueprint lem:torus-annihilator.

          Equations
          Instances For

            Evaluation of an integer frequency at a torus point, before exponentiation.

            Equations
            Instances For
              noncomputable def TrilinearHT.Auto.torusPairing {d : ℕ} (n : Fin d → ℤ) (x : StandardTorus d) :

              Pair an integer character with a point of the standard torus.

              Equations
              Instances For
                theorem TrilinearHT.Auto.torusPairing_eq_sum {d : ℕ} (n : Fin d → ℤ) (x : StandardTorus d) :
                torusPairing n x = ∑ i : Fin d, n i • x i

                Integer-linear character pairing on the standard torus.

                Equations
                Instances For

                  The subgroup annihilating all frequencies in an integer submodule.

                  Equations
                  Instances For

                    An integer basis acts on the torus by evaluating its basis frequencies.

                    Equations
                    Instances For
                      theorem TrilinearHT.Auto.torusBasisEquiv_symm_apply {d : ℕ} (b : Module.Basis (Fin d) ℤ (Fin d → ℤ)) (x : StandardTorus d) (i : Fin d) :
                      (torusBasisEquiv b).symm x i = ∑ j : Fin d, (b.repr ((Pi.basisFun ℤ (Fin d)) i)) j • x j
                      theorem TrilinearHT.Auto.torusAnnihilator_basis_coordinates {d r : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (b : Module.Basis (Fin d) ℤ (Fin d → ℤ)) (hb : Submodule.span ℤ (⇑b '' {i : Fin d | ↑i < r}) = L) (x : StandardTorus d) :
                      x ∈ torusAnnihilator L ↔ ∀ (i : Fin d), ↑i < r → (torusBasisEquiv b) x i = 0

                      Blueprint lem:torus-annihilator, line 358: an adapted integer basis turns annihilation by its first basis vectors into zero coordinate conditions.

                      The coordinate torus with its first r coordinates equal to zero.

                      Equations
                      Instances For
                        noncomputable def TrilinearHT.Auto.coordinateTorusTailEquiv (d r : ℕ) :
                        ↥(coordinateTorus d r) ≃ₗ[ℤ] { i : Fin d // r ≤ ↑i } → AddCircle 1

                        Identify the coordinate subtorus with its unrestricted tail coordinates.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          noncomputable def TrilinearHT.Auto.coordinateTorusTailHomeomorph (d r : ℕ) :
                          ↥(coordinateTorus d r) ≃ₜ ({ i : Fin d // r ≤ ↑i } → AddCircle 1)

                          Homeomorphism identifying the coordinate subtorus with its tail coordinates.

                          Equations
                          Instances For
                            noncomputable def TrilinearHT.Auto.torusAnnihilatorCoordinateEquiv {d r : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (b : Module.Basis (Fin d) ℤ (Fin d → ℤ)) (hb : Submodule.span ℤ (⇑b '' {i : Fin d | ↑i < r}) = L) :

                            Identify a lattice annihilator with a coordinate subtorus using the chosen integer basis.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable def TrilinearHT.Auto.torusAnnihilatorCoordinateHomeomorph {d r : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (b : Module.Basis (Fin d) ℤ (Fin d → ℤ)) (hb : Submodule.span ℤ (⇑b '' {i : Fin d | ↑i < r}) = L) :

                              Topological identification of a lattice annihilator with its coordinate subtorus.

                              Equations
                              Instances For
                                theorem TrilinearHT.Auto.saturatedAnnihilator_is_torus {d : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (hL : IntegerSaturated L) :
                                ∃ r ≤ d, Nonempty (↥(torusAnnihilator L) ≃ₗ[ℤ] { i : Fin d // r ≤ ↑i } → AddCircle 1) ∧ Nonempty (↥(torusAnnihilator L) ≃ₜ ({ i : Fin d // r ≤ ↑i } → AddCircle 1))

                                Blueprint lem:torus-annihilator: every saturated annihilator is isomorphic and homeomorphic to a finite product of circles.

                                Haar probability on the compact annihilator subgroup.

                                Equations
                                Instances For
                                  noncomputable def TrilinearHT.Auto.torusCharacter {d : ℕ} (n : Fin d → ℤ) (x : StandardTorus d) :

                                  The character exp(2πi n·x) on the standard torus.

                                  Equations
                                  Instances For
                                    theorem TrilinearHT.Auto.torusPairing_basis_inverse {d : ℕ} (b : Module.Basis (Fin d) ℤ (Fin d → ℤ)) (n : Fin d → ℤ) (y : StandardTorus d) :
                                    torusPairing n ((torusBasisEquiv b).symm y) = ∑ i : Fin d, (b.repr n) i • y i
                                    theorem TrilinearHT.Auto.saturatedAnnihilator_half_period {d : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (hL : IntegerSaturated L) {n : Fin d → ℤ} (hn : n ∉ L) :
                                    ∃ (x : ↥(torusAnnihilator L)), torusPairing n ↑x = ↑(1 / 2)

                                    A frequency outside a saturated integer submodule has a half-period on its annihilator, giving the cancellation needed for its Haar integral.

                                    theorem TrilinearHT.Auto.torusCharacter_add_half_period {d : ℕ} (n : Fin d → ℤ) {a : StandardTorus d} (ha : torusPairing n a = ↑(1 / 2)) (x : StandardTorus d) :

                                    Blueprint lem:torus-annihilator: the Haar integral of a torus character over the annihilator of a saturated lattice is exactly its membership indicator.

                                    theorem TrilinearHT.Auto.saturatedAnnihilator_zsmul_surjective {d : ℕ} (L : Submodule ℤ (Fin d → ℤ)) (hL : IntegerSaturated L) {k : ℤ} (hk : k ≠ 0) :
                                    Function.Surjective fun (x : ↥(torusAnnihilator L)) => k • x

                                    Nonzero integer multiplication is onto every saturated annihilator torus.

                                    def TrilinearHT.Auto.progressionPairHom (G : Type u_1) [AddCommGroup G] (i j l : ℤ) :
                                    G × G →+ G × G

                                    The two-coordinate progression map from blueprint lem:torus-annihilator.

                                    Equations
                                    Instances For
                                      theorem TrilinearHT.Auto.progressionPairHom_surjective {G : Type u_1} [AddCommGroup G] (hdiv : ∀ (k : ℤ), k ≠ 0 → Function.Surjective fun (x : G) => k • x) {i j : ℤ} (hij : i ≠ j) (l : ℤ) :

                                      Blueprint lem:torus-annihilator: the progression pair map preserves the product of the annihilator's Haar probabilities.