Documentation

LeanPool.CutAndProject.Irrational

Aperiodicity of the projected gap sequence for irrational slopes #

This file formalizes the aperiodicity proposition of the companion paper "Period lengths of one-dimensional rational cut-and-project sequences", Section "The Irrational Case". For positive irrational slope a and window parameter ω > 0, the projected gap sequence on the accepted lattice points has no finite period.

The proof has three steps:

  1. The physical projection tildeP(x,y) = x + a*y is injective on ℤ².
  2. A finite period of the gap sequence lifts to a non-zero translation v ∈ ℤ² that preserves the accepted set A.
  3. Such a translation must induce a non-zero internal shift τ that preserves W ∩ s(ℤ²); Kronecker density on rules this out, forcing v = 0 and contradicting Step 2.

Section A. Notation and accepted set #

Physical (signed-position) projection used in the irrational case: tildeP(x,y) = x + a*y.

Equations
Instances For

    Internal coordinate: s(x,y) = y - a*x.

    Equations
    Instances For

      Internal window W = [-a*ω, ω].

      Equations
      Instances For

        Accepted lattice points: those whose internal coordinate lies in W.

        Equations
        Instances For

          Section B. Step 1: tildeP is injective on ℤ² #

          Section C. Kronecker density of ℤ + a·ℤ #

          For irrational a, the set {n - a*m : m, n ∈ ℤ} is dense in .

          Section D. Local finiteness of the projected accepted set #

          theorem CutAndProject.Irrational.accepted_preimage_finite (a ω : ) ( : 0 < ω) (b₁ b₂ : ) :
          {z : × | z acceptedSet a ω tildeP a z Set.Icc b₁ b₂}.Finite

          The preimage in ℤ² of any bounded interval, intersected with the accepted set, is finite.

          Proof sketch. For (x, y) in the set we have s := y - a*x ∈ [-a*ω, ω] and p := x + a*y ∈ [b₁, b₂]. Inverting the linear system gives x = (p - a*s)/(1+a²) and y = (a*p + s)/(1+a²), so both x and y are bounded by an explicit real constant. Since x, y : ℤ lie in a bounded subset of , they lie in a finite box.

          Section E. Bi-infinite unboundedness #

          theorem CutAndProject.Irrational.tildeP_image_unbounded_above (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (M : ) :
          zacceptedSet a ω, M < tildeP a z

          The unboundedness-above main theorem.

          theorem CutAndProject.Irrational.tildeP_image_unbounded_below (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (M : ) :
          zacceptedSet a ω, tildeP a z < M

          The unboundedness-below main theorem.

          Section F. ℤ-enumeration of the projected accepted set #

          API lemmas for unfolding the Section A definitions.

          @[simp]
          theorem CutAndProject.Irrational.tildeP_apply (a : ) (m n : ) :
          tildeP a (m, n) = m + a * n
          @[simp]
          theorem CutAndProject.Irrational.sInternal_apply (a : ) (m n : ) :
          sInternal a (m, n) = n - a * m
          @[simp]
          theorem CutAndProject.Irrational.mem_W_iff (a ω x : ) :
          x W a ω -(a * ω) x x ω

          The image of the accepted set under the projection.

          Equations
          Instances For
            noncomputable def CutAndProject.Irrational.enumerate (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) :

            Bi-infinite enumeration of the projected accepted set. The forward map enumerate i is the i-th projected lattice point.

            Equations
            Instances For

              Section G. Gap sequence and periodicity #

              noncomputable def CutAndProject.Irrational.ell (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (i : ) :

              The i-th projected point (= ℓ_i in the paper).

              Equations
              Instances For
                noncomputable def CutAndProject.Irrational.gap (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (i : ) :

                The i-th gap g_i := ℓ_{i+1} - ℓ_i.

                Equations
                Instances For
                  def CutAndProject.Irrational.IsGapPeriod (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (lam : ) :

                  The gap sequence has period λ.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem CutAndProject.Irrational.ell_strictMono (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) :
                    StrictMono (ell a ω ha ha_pos )

                    The enumeration is strictly monotone, so ℓ is strictly increasing.

                    theorem CutAndProject.Irrational.gap_pos (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (i : ) :
                    0 < gap a ω ha ha_pos i

                    Each gap is strictly positive.

                    Section H. Step 2: a finite period lifts to a lattice translation #

                    theorem CutAndProject.Irrational.period_lifts_to_lattice_translation (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (lam : ) (hp : IsGapPeriod a ω ha ha_pos lam) :
                    ∃ (v : × ), v 0 0 < tildeP a v zacceptedSet a ω, z + v acceptedSet a ω

                    Step 2 of Proposition 1. If the gap sequence has finite period λ, there is a non-zero lattice translation v with tildeP v > 0 that preserves acceptedSet.

                    Section I. Step 3: a non-trivial lattice translation cannot #

                    preserve the accepted set 
                    
                    theorem CutAndProject.Irrational.lattice_translation_must_be_zero (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) (v : × ) (hv_inv : zacceptedSet a ω, z + v acceptedSet a ω) :
                    v = 0

                    Step 3 of Proposition 1. If v ∈ ℤ² preserves acceptedSet under addition, then v = 0.

                    Section J. Main theorem: aperiodicity for irrational slope #

                    theorem CutAndProject.Irrational.prop_irrational (a ω : ) (ha : Irrational a) (ha_pos : 0 < a) ( : 0 < ω) :
                    ¬∃ (lam : ), IsGapPeriod a ω ha ha_pos lam

                    Aperiodicity (paper: prop:irrational, Section "The Irrational Case"). For a ∈ ℝ_{>0} ∖ ℚ and ω > 0, the projected gap sequence has no finite period.

                    Companion injectivity claim (prop:irrational). Because tildeP is injective on ℤ² (Step 1, tildeP_injective), it is in particular injective when restricted to acceptedSet. This formalizes the paper's remark that "the multiset and set conventions coincide" in the irrational case: the projected accepted points have no duplicates.