Documentation

MeanFourier.BohrSet.Defs

Bohr sets #

structure BohrSet (G : Type u_1) [Group G] :
Type (max 1 u_1)

A Bohr set B on a group G is a finite set of unitary representations of G, called the frequencies, along with an extended non-negative real number for each frequency ψ, called the width of B at ψ.

A Bohr set B is thought of as the set {x | ∀ ψ ∈ B.frequencies, ‖1 - ψ x‖ ≤ B.width ψ}. This is the chord-length convention. The arc-length convention would instead be {x | ∀ ψ ∈ B.frequencies, |arg (ψ x)| ≤ B.width ψ}.

Note that this set does not uniquely determine B (in particular, it does not uniquely determine either B.frequencies or B.width).

Instances For
    theorem BohrSet.ext {G : Type u_1} {inst✝ : Group G} {x y : BohrSet G} (frequencies : x.frequencies = y.frequencies) (ewidth : x.ewidth = y.ewidth) :
    x = y
    theorem BohrSet.ext_iff {G : Type u_1} {inst✝ : Group G} {x y : BohrSet G} :
    def BohrSet.width {G : Type u_1} [Group G] (B : BohrSet G) (ψ : UnitaryDual G) :
    Equations
    Instances For
      theorem BohrSet.coe_width {G : Type u_1} [Group G] {B : BohrSet G} {ψ : UnitaryDual G} ( : ψ B.frequencies) :
      (B.width ψ) = B.ewidth ψ
      theorem BohrSet.ewidth_eq_top_iff {G : Type u_1} [Group G] {B : BohrSet G} {ψ : UnitaryDual G} :
      ψB.frequencies B.ewidth ψ =
      theorem BohrSet.ewidth_eq_top_of_not_mem_frequencies {G : Type u_1} [Group G] {B : BohrSet G} {ψ : UnitaryDual G} :
      ψB.frequenciesB.ewidth ψ =

      Alias of the forward direction of BohrSet.ewidth_eq_top_iff.

      theorem BohrSet.width_eq_zero_of_not_mem_frequencies {G : Type u_1} [Group G] {B : BohrSet G} {ψ : UnitaryDual G} ( : ψB.frequencies) :
      B.width ψ = 0
      noncomputable def BohrSet.ofEwidth {G : Type u_1} [Group G] [Finite G] (ρ : UnitaryDual GENNReal) :

      Construct a Bohr set on a finite group given an extended width function.

      Equations
      Instances For
        noncomputable def BohrSet.ofWidth {G : Type u_1} [Group G] (Γ : Finset (UnitaryDual G)) (ρ : UnitaryDual GNNReal) :

        Construct a Bohr set on a finite group given a width function and a frequency set.

        Equations
        Instances For
          theorem BohrSet.ext_width {G : Type u_1} [Group G] {B B' : BohrSet G} (freq : B.frequencies = B'.frequencies) (width : ψB.frequencies, B.width ψ = B'.width ψ) :
          B = B'
          theorem BohrSet.ext_width_iff {G : Type u_1} [Group G] {B B' : BohrSet G} :
          B = B' B.frequencies = B'.frequencies ψB.frequencies, B.width ψ = B'.width ψ

          Coercion, membership #

          def BohrSet.chordSet {G : Type u_1} [Group G] (B : BohrSet G) :
          Set G

          The set corresponding to a Bohr set B is {x | ∀ ψ ∈ B.frequencies, ‖1 - ψ x‖ ≤ B.width ψ}. This is the chord-length convention. The arc-length convention would instead be {x | ∀ ψ ∈ B.frequencies, |arg (ψ x)| ≤ B.width ψ}.

          Note that this set does not uniquely determine B.

          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[reducible, inline]
              abbrev BohrSet.Elem {G : Type u_1} [Group G] (B : BohrSet G) :
              Type u_1

              Given the Bohr set B, B.Elem is the Type of elements of B.

              Equations
              • B = B
              Instances For
                @[instance_reducible]
                instance BohrSet.instCoe {G : Type u_1} [Group G] :
                Coe (BohrSet G) (Set G)
                Equations
                @[instance_reducible]
                instance BohrSet.instCoeSort {G : Type u_1} [Group G] :
                Equations
                theorem BohrSet.mem_chordSet_iff_nnnorm_ewidth {G : Type u_1} [Group G] {B : BohrSet G} {x : G} :
                x B ∀ (ψ : UnitaryDual G), 1 - (ψ.ρ x)‖₊ B.ewidth ψ
                theorem BohrSet.mem_chordSet_iff_nnnorm_width {G : Type u_1} [Group G] {B : BohrSet G} {x : G} :
                x B ∀ ⦃ψ : UnitaryDual G⦄, ψ B.frequencies1 - (ψ.ρ x)‖₊ B.width ψ
                theorem BohrSet.mem_chordSet_iff_norm_width {G : Type u_1} [Group G] {B : BohrSet G} {x : G} :
                x B ∀ ⦃ψ : UnitaryDual G⦄, ψ B.frequencies1 - (ψ.ρ x) (B.width ψ)
                @[simp]
                theorem BohrSet.coeSort_coe {G : Type u_1} [Group G] (B : BohrSet G) :
                B = B
                @[simp]
                theorem BohrSet.one_mem_chordSet {G : Type u_1} [Group G] {B : BohrSet G} :
                1 B
                @[simp]
                theorem BohrSet.inv_mem_chordSet {G : Type u_1} [Group G] {B : BohrSet G} {x : G} :
                x⁻¹ B x B
                @[simp]
                theorem BohrSet.inv_chordSet {G : Type u_1} [Group G] {B : BohrSet G} :
                (↑B)⁻¹ = B
                @[simp]
                theorem BohrSet.conj_mem_chordSet {G : Type u_1} [Group G] {B : BohrSet G} {x y : G} :
                y * x * y⁻¹ B x B

                Lattice structure #

                @[instance_reducible]
                noncomputable instance BohrSet.instMax {G : Type u_1} [Group G] :
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                noncomputable instance BohrSet.instMin {G : Type u_1} [Group G] :
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                noncomputable instance BohrSet.instBotOfFinite {G : Type u_1} [Group G] [Finite G] :
                Equations
                @[instance_reducible]
                noncomputable instance BohrSet.instTop {G : Type u_1} [Group G] :
                Equations
                @[instance_reducible]
                instance BohrSet.instPreorder {G : Type u_1} [Group G] :
                Equations
                @[instance_reducible]
                noncomputable instance BohrSet.instDistribLattice {G : Type u_1} [Group G] :
                Equations
                theorem BohrSet.le_iff_ewidth {G : Type u_1} [Group G] {B₁ B₂ : BohrSet G} :
                B₁ B₂ ∀ ⦃ψ : UnitaryDual G⦄, B₁.ewidth ψ B₂.ewidth ψ
                theorem BohrSet.frequencies_anti {G : Type u_1} [Group G] {B₁ B₂ : BohrSet G} (h : B₁ B₂) :
                B₂.frequenciesB₁.frequencies
                theorem BohrSet.le_iff_width {G : Type u_1} [Group G] {B₁ B₂ : BohrSet G} :
                B₁ B₂ B₂.frequenciesB₁.frequencies ∀ ⦃ψ : UnitaryDual G⦄, ψ B₂.frequenciesB₁.width ψ B₂.width ψ
                theorem BohrSet.width_le_width {G : Type u_1} [Group G] {ψ : UnitaryDual G} {B₁ B₂ : BohrSet G} (h : B₁ B₂) ( : ψ B₂.frequencies) :
                B₁.width ψ B₂.width ψ
                @[instance_reducible]
                noncomputable instance BohrSet.instOrderTop {G : Type u_1} [Group G] :
                Equations
                @[instance_reducible]
                noncomputable instance BohrSet.instSupSetOfFinite {G : Type u_1} [Group G] [Finite G] :
                Equations
                • One or more equations did not get rendered due to their size.
                theorem BohrSet.iInf_lt_top {α : Type u_2} {β : Type u_3} [CompleteLattice β] {S : Set α} {f : αβ} :
                iS, f i < iS, f i <
                @[instance_reducible]
                noncomputable instance BohrSet.instInfSetOfFinite {G : Type u_1} [Group G] [Finite G] :
                Equations
                • One or more equations did not get rendered due to their size.

                Width, frequencies, rank #

                def BohrSet.cardRank {G : Type u_1} [Group G] (B : BohrSet G) :

                The cardinality rank of a Bohr set is its number of frequencies.

                Equations
                Instances For
                  @[simp]
                  noncomputable def BohrSet.dimRank {G : Type u_1} [Group G] (B : BohrSet G) :

                  The dimension rank of a Bohr set is the sum of the dimensions of its frequencies.

                  Equations
                  Instances For
                    noncomputable def BohrSet.dimSqRank {G : Type u_1} [Group G] (B : BohrSet G) :

                    The squared dimension rank of a Bohr set is the sum of the squares of the dimensions of its frequencies.

                    Equations
                    Instances For

                      Dilation #

                      theorem BohrSet.nnreal_smul_lt_top {x : NNReal} {y : ENNReal} (hy : y < ) :
                      x y <
                      theorem BohrSet.nnreal_smul_lt_top_iff {x : NNReal} {y : ENNReal} (hx : x 0) :
                      x y < y <
                      theorem BohrSet.nnreal_smul_ne_top {x : NNReal} {y : ENNReal} (hy : y ) :
                      x y
                      theorem BohrSet.nnreal_smul_ne_top_iff {x : NNReal} {y : ENNReal} (hx : x 0) :
                      @[instance_reducible]
                      noncomputable instance BohrSet.instSMul {G : Type u_1} [Group G] :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      @[simp]
                      theorem BohrSet.frequencies_smul {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) :
                      @[simp]
                      theorem BohrSet.cardRank_smul {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) :
                      @[simp]
                      theorem BohrSet.dimRank_smul {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) :
                      (ρ B).dimRank = B.dimRank
                      @[simp]
                      theorem BohrSet.ewidth_smul {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) (ψ : UnitaryDual G) :
                      (ρ B).ewidth ψ = if ψ B.frequencies then (Real.nnabs ρ) * B.ewidth ψ else
                      @[simp]
                      theorem BohrSet.width_smul_apply {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) (ψ : UnitaryDual G) :
                      (ρ B).width ψ = Real.nnabs ρ * B.width ψ
                      theorem BohrSet.width_smul {G : Type u_1} [Group G] (ρ : ) (B : BohrSet G) :
                      @[instance_reducible]
                      noncomputable instance BohrSet.instMulAction {G : Type u_1} [Group G] :
                      Equations
                      theorem BohrSet.eq_singleton_one_of_ewidth_eq_zero {G : Type u_1} [Group G] {B : BohrSet G} (h : B.ewidth = 0) :
                      B = {1}
                      theorem BohrSet.chordSet_eq_top_of_two_le_width {G : Type u_1} [Group G] {B : BohrSet G} (h : ∀ (ψ : UnitaryDual G), 2 B.width ψ) :
                      B = Set.univ
                      theorem BohrSet.chordSet_mono {G : Type u_1} [Group G] {B₁ B₂ : BohrSet G} (h : B₁ B₂) :
                      B₁B₂
                      theorem BohrSet.chordSet_mul_chordSet_subset {G : Type u_1} [Group G] {B₁ B₂ B₃ : BohrSet G} (h : B₁.ewidth + B₂.ewidth B₃.ewidth) :
                      B₁ * B₂B₃
                      theorem BohrSet.chordSet_smul_add_chordSet_smul_subset {G : Type u_1} [Group G] {B : BohrSet G} {ρ₁ ρ₂ : } (hρ₁ : 0 ρ₁) (hρ₂ : 0 ρ₂) :
                      ↑(ρ₁ B) * ↑(ρ₂ B)↑((ρ₁ + ρ₂) B)
                      theorem BohrSet.chordSet_pow_subset {G : Type u_1} [Group G] {B : BohrSet G} {n : } :
                      B ^ n↑(n B)
                      @[simp]
                      @[simp]