Analysis of Boolean Functions in Lean

8.7. Exercises and notes🔗

Lemma8.7.1
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Exercise 8.1. Extend the definitions and results of Sections 8.1 and 8.2 to a nonhomogeneous finite product L^2(\Omega_1\times\cdots\times\Omega_n, \pi_1\otimes\cdots\otimes\pi_n). The precise product-basis, projection, influence, and noise specializations are represented by their individual production declarations; this umbrella instruction supplies no assumption.

Lemma8.7.2
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.2. Verify all real inner-product axioms for the form in Definition 8.1, and prove that full support is exactly what makes \langle f,f\rangle=0 imply f=0.

Lean code for Lemma8.7.25 theorems
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.pmfInner_symm.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (f g : Ω  ) : FABL.pmfInner π f g = FABL.pmfInner π g f
    theorem FABL.pmfInner_symm.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (f g : Ω  ) :
      FABL.pmfInner π f g =
        FABL.pmfInner π g f
    The weighted inner product is symmetric. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.pmfInner_add_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (f g h : Ω  ) :
      FABL.pmfInner π (f + g) h = FABL.pmfInner π f h + FABL.pmfInner π g h
    theorem FABL.pmfInner_add_left.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (f g h : Ω  ) :
      FABL.pmfInner π (f + g) h =
        FABL.pmfInner π f h +
          FABL.pmfInner π g h
    The weighted inner product is additive in its first argument. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.pmfInner_smul_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (c : ) (f g : Ω  ) :
      FABL.pmfInner π (c  f) g = c * FABL.pmfInner π f g
    theorem FABL.pmfInner_smul_left.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (c : ) (f g : Ω  ) :
      FABL.pmfInner π (c  f) g =
        c * FABL.pmfInner π f g
    The weighted inner product respects real scalar multiplication. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.pmfInner_self_nonneg.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (f : Ω  ) : 0  FABL.pmfInner π f f
    theorem FABL.pmfInner_self_nonneg.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (f : Ω  ) : 0  FABL.pmfInner π f f
    A weighted self-inner product is nonnegative. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.pmfInner_self_eq_zero_iff.{u_1} {Ω : Type u_1} [Fintype Ω]
      {π : PMF Ω} ( : FABL.PMFHasFullSupport π) (f : Ω  ) :
      FABL.pmfInner π f f = 0  f = 0
    theorem FABL.pmfInner_self_eq_zero_iff.{u_1}
      {Ω : Type u_1} [Fintype Ω] {π : PMF Ω}
      ( : FABL.PMFHasFullSupport π)
      (f : Ω  ) :
      FABL.pmfInner π f f = 0  f = 0
    Exercise 8.2: full support makes the weighted form positive definite. 
Lemma8.7.3
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.3. From uniqueness and orthonormality of the Fourier expansion, prove \widehat f(\alpha)=\langle f,\phi_\alpha\rangle.

Lean code for Lemma8.7.32 theorems
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_eq_pmfInner.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff f a =
        FABL.pmfInner (FABL.productProbabilityPMF π n) f
          (B.productFunction a)
    theorem FABL.FiniteFourierBasis.fourierCoeff_eq_pmfInner.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff f a =
        FABL.pmfInner
          (FABL.productProbabilityPMF π n) f
          (B.productFunction a)
    Exercise 8.3: the Fourier coefficient is the weighted inner product with the basis vector. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_eq_productBasis_repr.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff f a = ((B.productBasis n).repr f) a
    theorem FABL.FiniteFourierBasis.fourierCoeff_eq_productBasis_repr.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff f a =
        ((B.productBasis n).repr f) a
    Exercise 8.3 and Definition 8.14: weighted-inner-product coefficients coincide with the
    algebraic coordinates of the product basis. 
Lemma8.7.4
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.4. Verify directly that the three functions in Example 8.10 form an orthonormal basis and that \phi_0\equiv1.

Lean code for Lemma8.7.41 theorem
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.threePointFourierFunction_orthonormal (a b : Fin 3) :
      (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x =>
          FABL.threePointFourierFunction a x *
            FABL.threePointFourierFunction b x) =
        if a = b then 1 else 0
    theorem FABL.threePointFourierFunction_orthonormal
      (a b : Fin 3) :
      (FABL.pmfExpectation
          (FABL.uniformPMF FABL.ThreePoint)
          fun x =>
          FABL.threePointFourierFunction a x *
            FABL.threePointFourierFunction b
              x) =
        if a = b then 1 else 0
    Exercise 8.4: the three functions in Example 8.10 are orthonormal. 
Lemma8.7.5
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.5. Compute all nine coefficients in the expansion of Example 8.15 and verify the displayed identity pointwise.

Lean code for Lemma8.7.53 theorems
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.threePointCIndicator_coefficient (j : Fin 3) :
      (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x =>
          FABL.threePointCIndicator x * FABL.threePointBasis j x) =
        FABL.threePointCIndicatorCoeff j
    theorem FABL.threePointCIndicator_coefficient
      (j : Fin 3) :
      (FABL.pmfExpectation
          (FABL.uniformPMF FABL.ThreePoint)
          fun x =>
          FABL.threePointCIndicator x *
            FABL.threePointBasis j x) =
        FABL.threePointCIndicatorCoeff j
    The one-site coefficient computation underlying Exercise 8.5. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.threePointBothCIndicator_fourierCoeff
      (a : FABL.MultiIndex 2 (Fin 3)) :
      FABL.threePointFourierBasis.fourierCoeff FABL.threePointBothCIndicator
          a =
         i, FABL.threePointCIndicatorCoeff (a i)
    theorem FABL.threePointBothCIndicator_fourierCoeff
      (a : FABL.MultiIndex 2 (Fin 3)) :
      FABL.threePointFourierBasis.fourierCoeff
          FABL.threePointBothCIndicator a =
         i,
          FABL.threePointCIndicatorCoeff (a i)
    The coefficient table in Example 8.15 factorizes into its two one-site coefficients. 
  • theoremdefined in FABL/Chapter08/ProductFourierBases.lean
    complete
    theorem FABL.threePointBothCIndicator_fourierCoeff_table :
      FABL.threePointFourierBasis.fourierCoeff
          FABL.threePointBothCIndicator =
        fun a =>
        FABL.threePointCIndicatorCoeff (a 0) *
          FABL.threePointCIndicatorCoeff (a 1)
    theorem FABL.threePointBothCIndicator_fourierCoeff_table :
      FABL.threePointFourierBasis.fourierCoeff
          FABL.threePointBothCIndicator =
        fun a =>
        FABL.threePointCIndicatorCoeff (a 0) *
          FABL.threePointCIndicatorCoeff (a 1)
    Exercise 8.5: the coefficient function in Example 8.15, in the displayed two-coordinate
    table. 
Lemma8.7.6
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.6. Derive the expectation, Parseval, variance, and covariance identities in Proposition 8.16 from Plancherel's identity.

Lean code for Lemma8.7.63 theorems
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_centered.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) :
      B.fourierCoeff (fun x => f x - FABL.productMean π f) a =
        if a = B.zeroMultiIndex n then 0 else B.fourierCoeff f a
    theorem FABL.FiniteFourierBasis.fourierCoeff_centered.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff
          (fun x =>
            f x - FABL.productMean π f)
          a =
        if a = B.zeroMultiIndex n then 0
        else B.fourierCoeff f a
    The coefficient of the centered function vanishes at zero and otherwise equals the original
    coefficient. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_const.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (c : ) (a : FABL.MultiIndex n ι) :
      B.fourierCoeff (fun x => c) a =
        if a = B.zeroMultiIndex n then c else 0
    theorem FABL.FiniteFourierBasis.fourierCoeff_const.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (c : )
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff (fun x => c) a =
        if a = B.zeroMultiIndex n then c
        else 0
    The coefficient of a constant function is supported only at the zero multi-index. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_injective.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } : Function.Injective B.fourierCoeff
    theorem FABL.FiniteFourierBasis.fourierCoeff_injective.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } :
      Function.Injective B.fourierCoeff
    Equality of all product Fourier coefficients determines the function. 
Lemma8.7.7
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.7. Prove that every coordinate expectation E_I is linear, idempotent, and self-adjoint. Deduce that the generalized noise operator T_\rho is self-adjoint.

Lean code for Lemma8.7.76 theorems
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.projectOnCoordinates_add.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (J : Finset (Fin n)) (f g : FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J (f + g) =
        FABL.projectOnCoordinates π J f + FABL.projectOnCoordinates π J g
    theorem FABL.projectOnCoordinates_add.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (J : Finset (Fin n))
      (f g : FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J (f + g) =
        FABL.projectOnCoordinates π J f +
          FABL.projectOnCoordinates π J g
    Projection is additive. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.projectOnCoordinates_smul.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (J : Finset (Fin n)) (c : )
      (f : FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J (c  f) =
        c  FABL.projectOnCoordinates π J f
    theorem FABL.projectOnCoordinates_smul.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (J : Finset (Fin n)) (c : )
      (f : FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J (c  f) =
        c  FABL.projectOnCoordinates π J f
    Projection respects scalar multiplication. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.projectOnCoordinates_sum.{u_1, u_2} {Ω : Type u_1} {κ : Type u_2}
      [Fintype Ω] [Fintype κ] (π : PMF Ω) {n : } (J : Finset (Fin n))
      (f : κ  FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J (∑ k, f k) =
         k, FABL.projectOnCoordinates π J (f k)
    theorem FABL.projectOnCoordinates_sum.{u_1, u_2}
      {Ω : Type u_1} {κ : Type u_2}
      [Fintype Ω] [Fintype κ] (π : PMF Ω)
      {n : } (J : Finset (Fin n))
      (f : κ  FABL.ProductL2 Ω n) :
      FABL.projectOnCoordinates π J
          (∑ k, f k) =
         k,
          FABL.projectOnCoordinates π J (f k)
    Projection commutes with a finite sum. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productNoiseOperator_add.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f g : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ  (f + g) =
        FABL.productNoiseOperator π ρ  f +
          FABL.productNoiseOperator π ρ  g
    theorem FABL.productNoiseOperator_add.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f g : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ 
          (f + g) =
        FABL.productNoiseOperator π ρ  f +
          FABL.productNoiseOperator π ρ  g
    Product noise is additive. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productNoiseOperator_smul.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (ρ : ) ( : ρ  Set.Icc 0 1) (c : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ  (c  f) =
        c  FABL.productNoiseOperator π ρ  f
    theorem FABL.productNoiseOperator_smul.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (c : ) (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ 
          (c  f) =
        c  FABL.productNoiseOperator π ρ  f
    Product noise respects scalar multiplication. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productNoiseOperator_selfAdjoint.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1) (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f (FABL.productNoiseOperator π ρ  g) =
        FABL.productInner π n (FABL.productNoiseOperator π ρ  f) g
    theorem FABL.productNoiseOperator_selfAdjoint.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f
          (FABL.productNoiseOperator π ρ 
            g) =
        FABL.productInner π n
          (FABL.productNoiseOperator π ρ  f)
          g
    Exercise 8.7: product noise is self-adjoint. 
Lemma8.7.8
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 8.2.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.8. Prove f=E_jf+L_jf and the orthogonal Pythagorean identity \langle f,g\rangle =\langle E_jf,E_jg\rangle+\langle L_jf,L_jg\rangle.

Lean code for Lemma8.7.82 theorems
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateProjection_add_laplacian.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (i : Fin n) (f : FABL.ProductL2 Ω n) :
      FABL.coordinateProjection π i f +
          FABL.productCoordinateLaplacian π i f =
        f
    theorem FABL.coordinateProjection_add_laplacian.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (i : Fin n)
      (f : FABL.ProductL2 Ω n) :
      FABL.coordinateProjection π i f +
          FABL.productCoordinateLaplacian π i
            f =
        f
    Exercise 8.8: every function splits into its coordinate projection and Laplacian. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.productInner_eq_projection_add_laplacian.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (i : Fin n)
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f g =
        FABL.productInner π n (FABL.coordinateProjection π i f)
            (FABL.coordinateProjection π i g) +
          FABL.productInner π n (FABL.productCoordinateLaplacian π i f)
            (FABL.productCoordinateLaplacian π i g)
    theorem FABL.FiniteFourierBasis.productInner_eq_projection_add_laplacian.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i : Fin n)
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f g =
        FABL.productInner π n
            (FABL.coordinateProjection π i f)
            (FABL.coordinateProjection π i
              g) +
          FABL.productInner π n
            (FABL.productCoordinateLaplacian π
              i f)
            (FABL.productCoordinateLaplacian π
              i g)
    Exercise 8.8: the projection/Laplacian splitting is orthogonal. 
Lemma8.7.9
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.9. Prove every identity in Proposition 8.24, including the conditional-variance formula and both Boolean-valued specializations.

Lean code for Lemma8.7.96 declarations
  • defdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    def FABL.replaceCoordinate.{u_1} {Ω : Type u_1} {n : } (x : Fin n  Ω)
      (i : Fin n) (ω : Ω) : Fin n  Ω
    def FABL.replaceCoordinate.{u_1}
      {Ω : Type u_1} {n : } (x : Fin n  Ω)
      (i : Fin n) (ω : Ω) : Fin n  Ω
    Replace coordinate `i` of `x` by `ω`. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateProjection_apply.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (i : Fin n) (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      FABL.coordinateProjection π i f x =
        FABL.pmfExpectation π fun ω => f (FABL.replaceCoordinate x i ω)
    theorem FABL.coordinateProjection_apply.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (i : Fin n)
      (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      FABL.coordinateProjection π i f x =
        FABL.pmfExpectation π fun ω =>
          f (FABL.replaceCoordinate x i ω)
    Projection onto all coordinates except `i` is the one-site expectation over a fresh value of
    coordinate `i`. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateProjection_replaceCoordinate.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (i : Fin n) (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) (ω : Ω) :
      FABL.coordinateProjection π i f (FABL.replaceCoordinate x i ω) =
        FABL.coordinateProjection π i f x
    theorem FABL.coordinateProjection_replaceCoordinate.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (i : Fin n)
      (f : FABL.ProductL2 Ω n) (x : Fin n  Ω)
      (ω : Ω) :
      FABL.coordinateProjection π i f
          (FABL.replaceCoordinate x i ω) =
        FABL.coordinateProjection π i f x
    Coordinate projection is unchanged when its queried coordinate is replaced. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : }
      (f : FABL.ProductL2 Ω n) (i : Fin n) (x : Fin n  Ω) :
      FABL.coordinateConditionalVariance π f i x =
        FABL.coordinateProjection π i
          (fun z => FABL.productCoordinateLaplacian π i f z ^ 2) x
    theorem FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) (x : Fin n  Ω) :
      FABL.coordinateConditionalVariance π f i
          x =
        FABL.coordinateProjection π i
          (fun z =>
            FABL.productCoordinateLaplacian π
                i f z ^
              2)
          x
    Pointwise conditional variance is the coordinate projection of the squared Laplacian. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : }
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) :
      (FABL.coordinateProjection π i fun x =>
          |FABL.productCoordinateLaplacian π i f x|) =
        FABL.coordinateConditionalVariance π f i
    theorem FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) (i : Fin n) :
      (FABL.coordinateProjection π i fun x =>
          |FABL.productCoordinateLaplacian π i
              f x|) =
        FABL.coordinateConditionalVariance π f
          i
    Conditional expected absolute Laplacian equals the conditional coordinate variance for a
    sign-range function. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.coordinateProjection_resamplingDisagreement_eq_half_variance.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : }
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) :
      (FABL.coordinateProjection π i fun x =>
          FABL.pmfExpectation π fun ω =>
            if f x  f (FABL.replaceCoordinate x i ω) then 1 else 0) =
        fun x => 1 / 2 * FABL.coordinateConditionalVariance π f i x
    theorem FABL.coordinateProjection_resamplingDisagreement_eq_half_variance.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) (i : Fin n) :
      (FABL.coordinateProjection π i fun x =>
          FABL.pmfExpectation π fun ω =>
            if
                f x 
                  f
                    (FABL.replaceCoordinate x
                      i ω) then
              1
            else 0) =
        fun x =>
        1 / 2 *
          FABL.coordinateConditionalVariance π
            f i x
    Projecting the resampling-disagreement function averages two independent copies of the
    coordinate section. 
Lemma8.7.10
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.1.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.10. If f is \{-1,1\}-valued, then for every p\ge1, \|L_if\|_p^p\le2^p\operatorname{Inf}_i[f]. For 1\le p\le2, prove the sharper estimate \|L_if\|_p^p\le\operatorname{Inf}_i[f].

Lean code for Lemma8.7.107 declarations
  • defdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    def FABL.coordinateConditionalAbsMoment.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (p : ) (f : FABL.ProductL2 Ω n) (i : Fin n)
      (x : Fin n  Ω) : 
    def FABL.coordinateConditionalAbsMoment.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (p : ) (f : FABL.ProductL2 Ω n)
      (i : Fin n) (x : Fin n  Ω) : 
    The conditional centered absolute `p`th moment in one coordinate. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (p : )
      (f : FABL.ProductL2 Ω n) (i : Fin n) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i f x| ^ p) =
        FABL.productMean π (FABL.coordinateConditionalAbsMoment π p f i)
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (p : ) (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i
                f x| ^
            p) =
        FABL.productMean π
          (FABL.coordinateConditionalAbsMoment
            π p f i)
    Global absolute Laplacian moment is the mean conditional moment. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n) (p : ) (hp : 1  p) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i f x| ^ p) 
        2 ^ p * FABL.productInfluence π f i
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n)
      (p : ) (hp : 1  p) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i
                f x| ^
            p) 
        2 ^ p * FABL.productInfluence π f i
    Exercise 8.10's coarse centered-moment estimate for every `p ≥ 1`. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n) (p : ) (hp1 : 1  p)
      (hp2 : p  2) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i f x| ^ p) 
        FABL.productInfluence π f i
    theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n)
      (p : ) (hp1 : 1  p) (hp2 : p  2) :
      (FABL.productMean π fun x =>
          |FABL.productCoordinateLaplacian π i
                f x| ^
            p) 
        FABL.productInfluence π f i
    Exercise 8.10's sharp conditional-moment estimate for `1 ≤ p ≤ 2`. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.productLpNorm_rpow_eq_productMean_abs_rpow.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (n : ) (p : ) (hp : 0 < p)
      (f : FABL.ProductL2 Ω n) :
      FABL.productLpNorm π n p f ^ p = FABL.productMean π fun x => |f x| ^ p
    theorem FABL.productLpNorm_rpow_eq_productMean_abs_rpow.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (p : ) (hp : 0 < p)
      (f : FABL.ProductL2 Ω n) :
      FABL.productLpNorm π n p f ^ p =
        FABL.productMean π fun x => |f x| ^ p
    Raising a positive-exponent product `L^p` quantity back to `p` recovers its moment. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n) (p : ) (hp : 1  p) :
      FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p 
        2 ^ p * FABL.productInfluence π f i
    theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n)
      (p : ) (hp : 1  p) :
      FABL.productLpNorm π n p
            (FABL.productCoordinateLaplacian π
              i f) ^
          p 
        2 ^ p * FABL.productInfluence π f i
    Exercise 8.10 in the book's norm-power notation, for every `p ≥ 1`. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n) (p : ) (hp1 : 1  p)
      (hp2 : p  2) :
      FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p 
        FABL.productInfluence π f i
    theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f) (i : Fin n)
      (p : ) (hp1 : 1  p) (hp2 : p  2) :
      FABL.productLpNorm π n p
            (FABL.productCoordinateLaplacian π
              i f) ^
          p 
        FABL.productInfluence π f i
    Exercise 8.10's sharper norm-power estimate for `1 ≤ p ≤ 2`. 
Lemma8.7.11
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 8.2.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.11. Define the one-coordinate noise operator T_\rho^if=\rho f+(1-\rho)E_if=E_if+\rho L_if. For \rho\in[0,1] identify it with resampling only coordinate i. Prove T_{\rho_1}^iT_{\rho_2}^i=T_{\rho_1\rho_2}^i and that operators on distinct coordinates commute. For a parameter vector define T_{(\rho_1,\ldots,\rho_n)} as their product, recover T_\rho on the diagonal, and prove for p\ge1 \|T_{(\rho_1,\ldots,\rho_n)}f\|_p\le\|f\|_p.

Lean code for Lemma8.7.1117 declarations
  • defdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    def FABL.productSingleCoordinateNoiseOperator.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
    def FABL.productSingleCoordinateNoiseOperator.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.ProductL2 Ω n
    Exercise 8.11: noise applied only to coordinate `i`, in the algebraic form
    `Eᵢf + ρLᵢf = ρf + (1-ρ)Eᵢf`. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productSingleCoordinateNoiseOperator_eq.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator π i ρ f =
        ρ  f + (1 - ρ)  FABL.coordinateProjection π i f
    theorem FABL.productSingleCoordinateNoiseOperator_eq.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator
          π i ρ f =
        ρ  f +
          (1 - ρ) 
            FABL.coordinateProjection π i f
    The two affine formulas for one-coordinate noise agree. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) :
      B.fourierCoeff (FABL.productSingleCoordinateNoiseOperator π i ρ f) a =
        (if a i = B.zeroIndex then 1 else ρ) * B.fourierCoeff f a
    theorem FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff
          (FABL.productSingleCoordinateNoiseOperator
            π i ρ f)
          a =
        (if a i = B.zeroIndex then 1 else ρ) *
          B.fourierCoeff f a
    Spectral action of one-coordinate noise. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productSingleCoordinateNoiseOperator_semigroup.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (i : Fin n) (ρ σ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator π i ρ
          (FABL.productSingleCoordinateNoiseOperator π i σ f) =
        FABL.productSingleCoordinateNoiseOperator π i (ρ * σ) f
    theorem FABL.productSingleCoordinateNoiseOperator_semigroup.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i : Fin n) (ρ σ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator
          π i ρ
          (FABL.productSingleCoordinateNoiseOperator
            π i σ f) =
        FABL.productSingleCoordinateNoiseOperator
          π i (ρ * σ) f
    Exercise 8.11(b): one-coordinate noise has the semigroup law. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productSingleCoordinateNoiseOperator_comm.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i j : Fin n) (ρ σ : ) (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator π i ρ
          (FABL.productSingleCoordinateNoiseOperator π j σ f) =
        FABL.productSingleCoordinateNoiseOperator π j σ
          (FABL.productSingleCoordinateNoiseOperator π i ρ f)
    theorem FABL.productSingleCoordinateNoiseOperator_comm.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i j : Fin n) (ρ σ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.productSingleCoordinateNoiseOperator
          π i ρ
          (FABL.productSingleCoordinateNoiseOperator
            π j σ f) =
        FABL.productSingleCoordinateNoiseOperator
          π j σ
          (FABL.productSingleCoordinateNoiseOperator
            π i ρ f)
    Exercise 8.11(b): coordinate noise operators on different coordinates commute. 
  • defdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    def FABL.anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : Fin n  ) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
    def FABL.anisotropicProductNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : Fin n  )
      (f : FABL.ProductL2 Ω n) :
      FABL.ProductL2 Ω n
    The anisotropic product-noise multiplier with one correlation parameter per coordinate. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : Fin n  )
      (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) :
      B.fourierCoeff (FABL.anisotropicProductNoiseOperator B ρ f) a =
        (∏ i, if a i = B.zeroIndex then 1 else ρ i) * B.fourierCoeff f a
    theorem FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : Fin n  )
      (f : FABL.ProductL2 Ω n)
      (a : FABL.MultiIndex n ι) :
      B.fourierCoeff
          (FABL.anisotropicProductNoiseOperator
            B ρ f)
          a =
        (∏ i,
            if a i = B.zeroIndex then 1
            else ρ i) *
          B.fourierCoeff f a
    Fourier coefficient of anisotropic product noise. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.anisotropicProductNoiseOperator_const.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) (f : FABL.ProductL2 Ω n) :
      FABL.anisotropicProductNoiseOperator B (fun x => ρ) f =
        FABL.spectralProductNoiseOperator B ρ f
    theorem FABL.anisotropicProductNoiseOperator_const.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.anisotropicProductNoiseOperator B
          (fun x => ρ) f =
        FABL.spectralProductNoiseOperator B ρ
          f
    Exercise 8.11(c): equal coordinate parameters give the ordinary spectral noise operator. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.anisotropicProductNoiseOperator_single.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i : Fin n) (ρ : ) (f : FABL.ProductL2 Ω n) :
      FABL.anisotropicProductNoiseOperator B
          (fun j => if j = i then ρ else 1) f =
        FABL.productSingleCoordinateNoiseOperator π i ρ f
    theorem FABL.anisotropicProductNoiseOperator_single.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (i : Fin n) (ρ : )
      (f : FABL.ProductL2 Ω n) :
      FABL.anisotropicProductNoiseOperator B
          (fun j => if j = i then ρ else 1)
          f =
        FABL.productSingleCoordinateNoiseOperator
          π i ρ f
    Exercise 8.11(c): setting only coordinate `i` to `ρ` gives the single-coordinate operator. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.productNoiseOperator_semigroup.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ σ : ) ( : ρ  Set.Icc 0 1) ( : σ  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ 
          (FABL.productNoiseOperator π σ  f) =
        FABL.productNoiseOperator π (ρ * σ)  f
    theorem FABL.productNoiseOperator_semigroup.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ σ : ) ( : ρ  Set.Icc 0 1)
      ( : σ  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseOperator π ρ 
          (FABL.productNoiseOperator π σ 
            f) =
        FABL.productNoiseOperator π (ρ * σ) 
          f
    The ordinary product noise operator obeys the semigroup law. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.abs_pmfExpectation_rpow_le.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) (p : ) (hp : 1  p) (f : Ω  ) :
      |FABL.pmfExpectation π f| ^ p 
        FABL.pmfExpectation π fun x => |f x| ^ p
    theorem FABL.abs_pmfExpectation_rpow_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (p : ) (hp : 1  p) (f : Ω  ) :
      |FABL.pmfExpectation π f| ^ p 
        FABL.pmfExpectation π fun x =>
          |f x| ^ p
    Finite Jensen inequality for the convex function `t ↦ t^p`, combined with the triangle
    inequality for a PMF expectation. 
  • defdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    def FABL.anisotropicProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (rho : Fin n  )
      (hrho :  (i : Fin n), rho i  Set.Icc 0 1) (x : Fin n  Ω) :
      PMF (Fin n  Ω)
    def FABL.anisotropicProductNoiseKernel.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (rho : Fin n  )
      (hrho :
         (i : Fin n), rho i  Set.Icc 0 1)
      (x : Fin n  Ω) : PMF (Fin n  Ω)
    Independent coordinatewise noise with a separate parameter in every coordinate. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (rho : Fin n  )
      (hrho :  (i : Fin n), rho i  Set.Icc 0 1) (x : Fin n  Ω)
      (a : FABL.MultiIndex n ι) :
      FABL.pmfExpectation (FABL.anisotropicProductNoiseKernel π rho hrho x)
          (B.productFunction a) =
        (∏ i, if a i = B.zeroIndex then 1 else rho i) *
          B.productFunction a x
    theorem FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (rho : Fin n  )
      (hrho :
         (i : Fin n), rho i  Set.Icc 0 1)
      (x : Fin n  Ω)
      (a : FABL.MultiIndex n ι) :
      FABL.pmfExpectation
          (FABL.anisotropicProductNoiseKernel
            π rho hrho x)
          (B.productFunction a) =
        (∏ i,
            if a i = B.zeroIndex then 1
            else rho i) *
          B.productFunction a x
    A product Fourier basis vector is an eigenfunction of anisotropic noise. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (rho : Fin n  )
      (hrho :  (i : Fin n), rho i  Set.Icc 0 1) (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      FABL.anisotropicProductNoiseOperator B rho f x =
        FABL.pmfExpectation
          (FABL.anisotropicProductNoiseKernel π rho hrho x) f
    theorem FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (rho : Fin n  )
      (hrho :
         (i : Fin n), rho i  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      FABL.anisotropicProductNoiseOperator B
          rho f x =
        FABL.pmfExpectation
          (FABL.anisotropicProductNoiseKernel
            π rho hrho x)
          f
    The spectral anisotropic operator is exactly expectation against its product kernel. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (rho : Fin n  )
      (f : FABL.ProductL2 Ω n) :
      FABL.productMean π (FABL.anisotropicProductNoiseOperator B rho f) =
        FABL.productMean π f
    theorem FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (rho : Fin n  )
      (f : FABL.ProductL2 Ω n) :
      FABL.productMean π
          (FABL.anisotropicProductNoiseOperator
            B rho f) =
        FABL.productMean π f
    Anisotropic noise preserves the product mean. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (rho : Fin n  )
      (hrho :  (i : Fin n), rho i  Set.Icc 0 1) (f : FABL.ProductL2 Ω n)
      (p : ) (hp : 1  p) :
      (FABL.productMean π fun x =>
          |FABL.anisotropicProductNoiseOperator B rho f x| ^ p) 
        FABL.productMean π fun x => |f x| ^ p
    theorem FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (rho : Fin n  )
      (hrho :
         (i : Fin n), rho i  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n) (p : )
      (hp : 1  p) :
      (FABL.productMean π fun x =>
          |FABL.anisotropicProductNoiseOperator
                B rho f x| ^
            p) 
        FABL.productMean π fun x => |f x| ^ p
    Exercise 8.11(d), moment form. 
  • theoremdefined in FABL/Chapter08/ProductLpInequalities.lean
    complete
    theorem FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (rho : Fin n  )
      (hrho :  (i : Fin n), rho i  Set.Icc 0 1) (f : FABL.ProductL2 Ω n)
      (p : ) (hp : 1  p) :
      FABL.productLpNorm π n p
          (FABL.anisotropicProductNoiseOperator B rho f) 
        FABL.productLpNorm π n p f
    theorem FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (rho : Fin n  )
      (hrho :
         (i : Fin n), rho i  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n) (p : )
      (hp : 1  p) :
      FABL.productLpNorm π n p
          (FABL.anisotropicProductNoiseOperator
            B rho f) 
        FABL.productLpNorm π n p f
    Exercise 8.11(d): anisotropic product noise contracts every `L^p`, `p ≥ 1`. 
Lemma8.7.12
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.2.11
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.12. Suppose |\Omega|=m and \pi is uniform. Show that for the one-coordinate noise kernel \Pr[y_i=\omega]= \begin{cases} \rho+(1-\rho)/m,&x_i=\omega,\\ (1-\rho)/m,&x_i\ne\omega. \end{cases} This remains a probability law for -1/(m-1)\le\rho<0; at the left endpoint it is uniform on \Omega\setminus\{x_i\}. Prove symmetry under exchanging x,y and extend the multiplier formula of Proposition 8.28 to this negative interval.

Lean code for Lemma8.7.1213 declarations
  • defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    def FABL.uniformExtendedNoiseMass.{u_1} {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω] (ρ : ) (x y : Ω) : 
    def FABL.uniformExtendedNoiseMass.{u_1}
      {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω] (ρ : ) (x y : Ω) : 
    Exercise 8.12's point mass for one coordinate of a uniform `m`-symbol alphabet. 
  • defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    def FABL.uniformExtendedCoordinateNoisePMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω) (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1) (x : Ω) :
      PMF Ω
    def FABL.uniformExtendedCoordinateNoisePMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x : Ω) : PMF Ω
    Exercise 8.12: the extended one-coordinate probability kernel. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.uniformExtendedNoiseMass_self.{u_1} {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω] (hm : 2  Fintype.card Ω) (ρ : ) (x : Ω) :
      FABL.uniformExtendedNoiseMass ρ x x = ρ + (1 - ρ) / (Fintype.card Ω)
    theorem FABL.uniformExtendedNoiseMass_self.{u_1}
      {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (x : Ω) :
      FABL.uniformExtendedNoiseMass ρ x x =
        ρ + (1 - ρ) / (Fintype.card Ω)
    The self-transition mass is `ρ + (1-ρ)/m`. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.uniformExtendedNoiseMass_of_ne.{u_1} {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω] (ρ : ) {x y : Ω} (hxy : y  x) :
      FABL.uniformExtendedNoiseMass ρ x y = (1 - ρ) / (Fintype.card Ω)
    theorem FABL.uniformExtendedNoiseMass_of_ne.{u_1}
      {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω] (ρ : ) {x y : Ω}
      (hxy : y  x) :
      FABL.uniformExtendedNoiseMass ρ x y =
        (1 - ρ) / (Fintype.card Ω)
    Every off-diagonal transition has mass `(1-ρ)/m`. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.uniformExtendedNoiseMass_lowerEndpoint.{u_1} {Ω : Type u_1}
      [Fintype Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω) (x y : Ω) :
      FABL.uniformExtendedNoiseMass (-(↑(Fintype.card Ω - 1))⁻¹) x y =
        if y = x then 0 else (↑(Fintype.card Ω - 1))⁻¹
    theorem FABL.uniformExtendedNoiseMass_lowerEndpoint.{u_1}
      {Ω : Type u_1} [Fintype Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (x y : Ω) :
      FABL.uniformExtendedNoiseMass
          (-(↑(Fintype.card Ω - 1))⁻¹) x y =
        if y = x then 0
        else (↑(Fintype.card Ω - 1))⁻¹
    At the sharp negative endpoint, the input symbol has mass zero and every other symbol has
    mass `1/(m-1)`. 
  • defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    def FABL.uniformExtendedCorrelatedPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω) (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1) :
      PMF (Ω × Ω)
    def FABL.uniformExtendedCorrelatedPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) : PMF (Ω × Ω)
    The joint law obtained from a uniform first symbol and the extended coordinate kernel. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.uniformExtendedCorrelatedPairPMF_apply_swap.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω)
      (ρ : ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1)
      (x y : Ω) :
      (FABL.uniformExtendedCorrelatedPairPMF hm ρ hlower hupper) (x, y) =
        (FABL.uniformExtendedCorrelatedPairPMF hm ρ hlower hupper) (y, x)
    theorem FABL.uniformExtendedCorrelatedPairPMF_apply_swap.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x y : Ω) :
      (FABL.uniformExtendedCorrelatedPairPMF
            hm ρ hlower hupper)
          (x, y) =
        (FABL.uniformExtendedCorrelatedPairPMF
            hm ρ hlower hupper)
          (y, x)
    Exercise 8.12: exchanging the endpoints preserves the joint law. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1) (x : Ω)
      (f : Ω  ) :
      FABL.pmfExpectation
          (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x) f =
        ρ * f x + (1 - ρ) * Finset.univ.expect fun y => f y
    theorem FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x : Ω) (f : Ω  ) :
      FABL.pmfExpectation
          (FABL.uniformExtendedCoordinateNoisePMF
            hm ρ hlower hupper x)
          f =
        ρ * f x +
          (1 - ρ) *
            Finset.univ.expect fun y => f y
    Expectation under the extended kernel is `ρ f(x) + (1-ρ) 𝔼[f]`. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1) (x : Ω)
      (a : ι) :
      FABL.pmfExpectation
          (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x)
          (B.basis a) =
        if a = B.zeroIndex then 1 else ρ * B.basis a x
    theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B :
        FABL.FiniteFourierBasis Ω
          (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x : Ω) (a : ι) :
      FABL.pmfExpectation
          (FABL.uniformExtendedCoordinateNoisePMF
            hm ρ hlower hupper x)
          (B.basis a) =
        if a = B.zeroIndex then 1
        else ρ * B.basis a x
    A uniform single-site Fourier basis is an eigenbasis of the extended kernel. 
  • defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    def FABL.uniformExtendedProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω) {n : } (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1)
      (x : Fin n  Ω) : PMF (Fin n  Ω)
    def FABL.uniformExtendedProductNoiseKernel.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) {n : }
      (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x : Fin n  Ω) :
      PMF (Fin n  Ω)
    Independent coordinatewise extended noise on a uniform product space. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) {n : } (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1)
      (x : Fin n  Ω) (a : FABL.MultiIndex n ι) :
      FABL.pmfExpectation
          (FABL.uniformExtendedProductNoiseKernel hm ρ hlower hupper x)
          (B.productFunction a) =
        ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.productFunction a x
    theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B :
        FABL.FiniteFourierBasis Ω
          (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) {n : }
      (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (x : Fin n  Ω)
      (a : FABL.MultiIndex n ι) :
      FABL.pmfExpectation
          (FABL.uniformExtendedProductNoiseKernel
            hm ρ hlower hupper x)
          (B.productFunction a) =
        ρ ^
            FABL.multiIndexOrder B.zeroIndex
              a *
          B.productFunction a x
    Exercise 8.12: product Fourier functions retain the eigenvalue `ρ ^ #α` throughout the
    sharp negative-correlation interval. 
  • defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    def FABL.uniformExtendedProductNoiseOperator.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2  Fintype.card Ω)
      {n : } (ρ : ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
    def FABL.uniformExtendedProductNoiseOperator.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω]
      (hm : 2  Fintype.card Ω) {n : }
      (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1)
      (f : FABL.ProductL2 Ω n) :
      FABL.ProductL2 Ω n
    The product-space operator associated with the extended kernel. 
  • theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.lean
    complete
    theorem FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) {n : } (ρ : )
      (hlower : -(↑(Fintype.card Ω - 1))⁻¹  ρ) (hupper : ρ  1)
      (f : FABL.ProductL2 Ω n) (x : Fin n  Ω) :
      FABL.uniformExtendedProductNoiseOperator hm ρ hlower hupper f x =
         a,
          ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.fourierCoeff f a *
            B.productFunction a x
    theorem FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      [DecidableEq Ω] {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B :
        FABL.FiniteFourierBasis Ω
          (FABL.uniformPMF Ω) ι)
      (hm : 2  Fintype.card Ω) {n : }
      (ρ : )
      (hlower :
        -(↑(Fintype.card Ω - 1))⁻¹  ρ)
      (hupper : ρ  1)
      (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      FABL.uniformExtendedProductNoiseOperator
          hm ρ hlower hupper f x =
         a,
          ρ ^
                FABL.multiIndexOrder
                  B.zeroIndex a *
              B.fourierCoeff f a *
            B.productFunction a x
    Exercise 8.12: the full product operator has the same Fourier multiplier formula for
    negative correlation. 
Lemma8.7.13
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.2.15
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.13. Define the zero-stable influence by \operatorname{Inf}_i^{(0)}[f] =\sum_{\substack{\#\alpha=1\\\alpha_i\ne0}} \widehat f(\alpha)^2, and extend Proposition 8.31 to the endpoint \delta=1.

Lean code for Lemma8.7.134 theorems
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.continuous_stableInfluencePolynomial.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n) (i : Fin n) :
      Continuous fun ρ => FABL.stableInfluencePolynomial B ρ f i
    theorem FABL.continuous_stableInfluencePolynomial.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      Continuous fun ρ =>
        FABL.stableInfluencePolynomial B ρ f i
    The stable-influence polynomial is continuous in the correlation parameter. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.stableInfluencePolynomial_zero.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      FABL.stableInfluencePolynomial B 0 f i =
         a with FABL.multiIndexOrder B.zeroIndex a = 1  a i  B.zeroIndex,
          B.fourierCoeff f a ^ 2
    theorem FABL.FiniteFourierBasis.stableInfluencePolynomial_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      FABL.stableInfluencePolynomial B 0 f i =
         a with
          FABL.multiIndexOrder B.zeroIndex a =
              1 
            a i  B.zeroIndex,
          B.fourierCoeff f a ^ 2
    Exercise 8.13: at zero correlation, only order-one coefficients survive. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.tendsto_stableInfluencePolynomial_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      Filter.Tendsto (fun ρ => FABL.stableInfluencePolynomial B ρ f i)
        (nhds 0)
        (nhds
          (∑ a with
            FABL.multiIndexOrder B.zeroIndex a = 1  a i  B.zeroIndex,
            B.fourierCoeff f a ^ 2))
    theorem FABL.FiniteFourierBasis.tendsto_stableInfluencePolynomial_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      Filter.Tendsto
        (fun ρ =>
          FABL.stableInfluencePolynomial B ρ f
            i)
        (nhds 0)
        (nhds
          (∑ a with
            FABL.multiIndexOrder B.zeroIndex
                  a =
                1 
              a i  B.zeroIndex,
            B.fourierCoeff f a ^ 2))
    The continuous extension of stable influence tends to its order-one value as `ρ → 0`. 
  • theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.lean
    complete
    theorem FABL.FiniteFourierBasis.card_stableInfluencePolynomial_zero_ge_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (hvar : FABL.productVariance π f  1) (ε : ) ( : ε  Set.Ioc 0 1) :
      {i | ε  FABL.stableInfluencePolynomial B 0 f i}.card  1 / ε
    theorem FABL.FiniteFourierBasis.card_stableInfluencePolynomial_zero_ge_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (hvar : FABL.productVariance π f  1)
      (ε : ) ( : ε  Set.Ioc 0 1) :
      {i |
              ε 
                FABL.stableInfluencePolynomial
                  B 0 f i}.card 
        1 / ε
    Exercise 8.13, endpoint `δ = 1`: the same cardinal bound holds for the continuous
    zero-correlation extension. 
Lemma8.7.14
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.14. Use inclusion--exclusion in the explicit Möbius formula to prove directly that \sum_{S\subseteq T}f^{=S}=f^{\subseteq T}.

Lean code for Lemma8.7.141 theorem
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.sum_booleanMobius_interval.{u_1} {α : Type u_1} [DecidableEq α]
      (A S : Finset α) (hAS : A  S) :
       J  S.powerset with A  J, (-1) ^ (S.card - J.card) =
        if A = S then 1 else 0
    theorem FABL.sum_booleanMobius_interval.{u_1}
      {α : Type u_1} [DecidableEq α]
      (A S : Finset α) (hAS : A  S) :
       J  S.powerset with A  J,
          (-1) ^ (S.card - J.card) =
        if A = S then 1 else 0
    The alternating coefficient on the Boolean interval `[A,S]` is one at the top and zero
    otherwise.  This is the finite Boolean-lattice Möbius identity used in Theorem 8.35. 
Lemma8.7.15
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.15. Derive the linearity of f\mapsto f^{=S} only from the uniqueness clause of Theorem 8.35, without using its explicit formula.

Lean code for Lemma8.7.152 theorems
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.orthogonalComponent_add_of_uniqueness.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f g : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      B.orthogonalComponent (f + g) S =
        B.orthogonalComponent f S + B.orthogonalComponent g S
    theorem FABL.FiniteFourierBasis.orthogonalComponent_add_of_uniqueness.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f g : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      B.orthogonalComponent (f + g) S =
        B.orthogonalComponent f S +
          B.orthogonalComponent g S
    Exercise 8.15: additivity also follows from uniqueness of the defining decomposition. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.orthogonalComponent_smul_of_uniqueness.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (c : )
      (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) :
      B.orthogonalComponent (c  f) S = c  B.orthogonalComponent f S
    theorem FABL.FiniteFourierBasis.orthogonalComponent_smul_of_uniqueness.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (c : ) (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      B.orthogonalComponent (c  f) S =
        c  B.orthogonalComponent f S
    Exercise 8.15: homogeneity also follows from uniqueness of the defining decomposition. 
Lemma8.7.16
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.16. Prove (f^{=S})^{\subseteq T} =\begin{cases}f^{=S},&S\subseteq T,\\0,&S\nsubseteq T.\end{cases}

Lean code for Lemma8.7.161 theorem
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.projectOnCoordinates_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (S T : Finset (Fin n)) :
      FABL.projectOnCoordinates π T (B.orthogonalComponent f S) =
        if S  T then B.orthogonalComponent f S else 0
    theorem FABL.FiniteFourierBasis.projectOnCoordinates_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (S T : Finset (Fin n)) :
      FABL.projectOnCoordinates π T
          (B.orthogonalComponent f S) =
        if S  T then
          B.orthogonalComponent f S
        else 0
    Exercise 8.16: projecting one exact-support component keeps it precisely when all of its
    coordinates are retained. 
Lemma8.7.17
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.17. If x\sim\pi^{\otimes n}, prove that (f^{\subseteq[t]}(x))_{t=0}^n is a martingale. Define its difference sequence by d_tf=f^{\subseteq[t]}-f^{\subseteq[t-1]} =\sum_{\max S=t}f^{=S}, and prove that every d_tf has conditional mean zero given the first t-1 coordinates.

Lean code for Lemma8.7.176 declarations
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.firstCoordinates (n t : ) : Finset (Fin n)
    def FABL.firstCoordinates (n t : ) :
      Finset (Fin n)
    The first `t` coordinates, indexed as `{0, ..., t-1}`. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.FiniteFourierBasis.orthogonalDoobMartingale.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (_B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (t : ) : FABL.ProductL2 Ω n
    def FABL.FiniteFourierBasis.orthogonalDoobMartingale.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (_B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (t : ) : FABL.ProductL2 Ω n
    Exercise 8.17(a): the finite Doob martingale obtained by revealing the first `t`
    coordinates. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.project_orthogonalDoobMartingale.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      {s t : } (hst : s  t) :
      FABL.projectOnCoordinates π (FABL.firstCoordinates n s)
          (B.orthogonalDoobMartingale f t) =
        B.orthogonalDoobMartingale f s
    theorem FABL.FiniteFourierBasis.project_orthogonalDoobMartingale.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      {s t : } (hst : s  t) :
      FABL.projectOnCoordinates π
          (FABL.firstCoordinates n s)
          (B.orthogonalDoobMartingale f t) =
        B.orthogonalDoobMartingale f s
    Exercise 8.17(a), conditional-expectation form: conditioning the time-`t` value on all
    information available at an earlier time `s` returns the time-`s` value. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.FiniteFourierBasis.orthogonalDoobDifference.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) : FABL.ProductL2 Ω n
    def FABL.FiniteFourierBasis.orthogonalDoobDifference.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) : FABL.ProductL2 Ω n
    Exercise 8.17(b): the martingale difference when coordinate `t` is revealed. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) :
      FABL.projectOnCoordinates π (FABL.firstCoordinates n t)
          (B.orthogonalDoobDifference f t) =
        0
    theorem FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) :
      FABL.projectOnCoordinates π
          (FABL.firstCoordinates n t)
          (B.orthogonalDoobDifference f t) =
        0
    Exercise 8.17(b): a martingale difference has conditional mean zero given all previously
    revealed coordinates. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) :
      B.orthogonalDoobDifference f t =
         S  (FABL.firstCoordinates n (t + 1)).powerset with
          ¬S  FABL.firstCoordinates n t, B.orthogonalComponent f S
    theorem FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (t : Fin n) :
      B.orthogonalDoobDifference f t =
        
          S 
            (FABL.firstCoordinates n
                (t + 1)).powerset with
          ¬S  FABL.firstCoordinates n t,
          B.orthogonalComponent f S
    Exercise 8.17(b): the martingale difference is the sum of precisely those components newly
    revealed at time `t`. 
Lemma8.7.18
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Definition 8.2.7
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.18. Derive directly from the orthogonal decomposition \langle f,g\rangle =\sum_S\langle f^{=S},g^{=S}\rangle, \operatorname{Inf}_i[f] =\sum_{S\ni i}\|f^{=S}\|_2^2, \qquad \mathbf I[f]=\sum_{k=0}^n kW^k[f], T_\rho(f^{=S})=(T_\rho f)^{=S}=\rho^{|S|}f^{=S}, \qquad \operatorname{Stab}_\rho[f]=\sum_{k=0}^n\rho^kW^k[f].

Lean code for Lemma8.7.186 theorems
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : }
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f g =
         S,
          FABL.productInner π n (B.orthogonalComponent f S)
            (B.orthogonalComponent g S)
    theorem FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n f g =
         S,
          FABL.productInner π n
            (B.orthogonalComponent f S)
            (B.orthogonalComponent g S)
    Exercise 8.18, Plancherel grouped by exact supports. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      FABL.productInfluence π f i =
         S with i  S,
          FABL.productInner π n (B.orthogonalComponent f S)
            (B.orthogonalComponent f S)
    theorem FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (i : Fin n) :
      FABL.productInfluence π f i =
         S with i  S,
          FABL.productInner π n
            (B.orthogonalComponent f S)
            (B.orthogonalComponent f S)
    Exercise 8.18, influence as the energy of all components containing coordinate `i`. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n) :
      FABL.productTotalInfluence π f =
         k  Finset.range (n + 1), k * B.orthogonalWeightAtDegree f k
    theorem FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n) :
      FABL.productTotalInfluence π f =
         k  Finset.range (n + 1),
          k * B.orthogonalWeightAtDegree f k
    Exercise 8.18, total influence grouped by degree. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) :
      FABL.productNoiseOperator π ρ  (B.orthogonalComponent f S) =
        ρ ^ S.card  B.orthogonalComponent f S
    theorem FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      FABL.productNoiseOperator π ρ 
          (B.orthogonalComponent f S) =
        ρ ^ S.card  B.orthogonalComponent f S
    Exercise 8.18: product noise scales each exact-support component by `ρ^|S|`. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) :
      B.orthogonalComponent (FABL.productNoiseOperator π ρ  f) S =
        ρ ^ S.card  B.orthogonalComponent f S
    theorem FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      B.orthogonalComponent
          (FABL.productNoiseOperator π ρ  f)
          S =
        ρ ^ S.card  B.orthogonalComponent f S
    Exercise 8.18: taking an exact-support component commutes with product noise. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseStability π ρ  f =
         k  Finset.range (n + 1), ρ ^ k * B.orthogonalWeightAtDegree f k
    theorem FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : FABL.ProductL2 Ω n) :
      FABL.productNoiseStability π ρ  f =
         k  Finset.range (n + 1),
          ρ ^ k *
            B.orthogonalWeightAtDegree f k
    Exercise 8.18, noise stability grouped by orthogonal degree weights. 
Lemma8.7.19
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.19. Prove the uniform-norm bound \|f^{=S}\|_\infty\le2^{|S|}\|f\|_\infty.

Lean code for Lemma8.7.195 declarations
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {n : } (f : FABL.ProductL2 Ω n) : 
    def FABL.productSupNorm.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {n : }
      (f : FABL.ProductL2 Ω n) : 
    The finite-product `L∞` norm used in Exercise 8.19. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.abs_le_productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {n : } (f : FABL.ProductL2 Ω n) (x : Fin n  Ω) :
      |f x|  FABL.productSupNorm f
    theorem FABL.abs_le_productSupNorm.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {n : } (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      |f x|  FABL.productSupNorm f
    Every point evaluation is bounded by the finite-product supremum norm. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.abs_projectOnCoordinates_le_productSupNorm.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (π : PMF Ω) {n : } (J : Finset (Fin n))
      (f : FABL.ProductL2 Ω n) (x : Fin n  Ω) :
      |FABL.projectOnCoordinates π J f x|  FABL.productSupNorm f
    theorem FABL.abs_projectOnCoordinates_le_productSupNorm.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (π : PMF Ω) {n : } (J : Finset (Fin n))
      (f : FABL.ProductL2 Ω n)
      (x : Fin n  Ω) :
      |FABL.projectOnCoordinates π J f x| 
        FABL.productSupNorm f
    Coordinate projection is a contraction for the finite-product supremum norm, pointwise. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.abs_orthogonalComponent_le.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) (x : Fin n  Ω) :
      |B.orthogonalComponent f S x|  2 ^ S.card * FABL.productSupNorm f
    theorem FABL.FiniteFourierBasis.abs_orthogonalComponent_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) (x : Fin n  Ω) :
      |B.orthogonalComponent f S x| 
        2 ^ S.card * FABL.productSupNorm f
    Exercise 8.19, pointwise form: `|f^{=S}(x)| ≤ 2^|S| ‖f‖∞`. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      FABL.productSupNorm (B.orthogonalComponent f S) 
        2 ^ S.card * FABL.productSupNorm f
    theorem FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      FABL.productSupNorm
          (B.orthogonalComponent f S) 
        2 ^ S.card * FABL.productSupNorm f
    Exercise 8.19 in norm form. 
Lemma8.7.20
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 8.1.15
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.20. Verify Proposition 8.36 explicitly for the Fourier and orthogonal decompositions in Examples 8.15 and 8.37.

Lean code for Lemma8.7.202 theorems
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.projectOnCoordinates_threePointBothCIndicator (J : Finset (Fin 2))
      (x : Fin 2  FABL.ThreePoint) :
      FABL.projectOnCoordinates (FABL.uniformPMF FABL.ThreePoint) J
          FABL.threePointBothCIndicator x =
         i, if i  J then FABL.threePointCIndicator (x i) else 1 / 3
    theorem FABL.projectOnCoordinates_threePointBothCIndicator
      (J : Finset (Fin 2))
      (x : Fin 2  FABL.ThreePoint) :
      FABL.projectOnCoordinates
          (FABL.uniformPMF FABL.ThreePoint) J
          FABL.threePointBothCIndicator x =
         i,
          if i  J then
            FABL.threePointCIndicator (x i)
          else 1 / 3
    Every coordinate projection of Example 8.15's product indicator factorizes explicitly. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.threePointBothCIndicator_orthogonalComponent_fourier
      (S : Finset (Fin 2)) :
      FABL.threePointFourierBasis.orthogonalComponent
          FABL.threePointBothCIndicator S =
         a with
          FABL.multiIndexSupport FABL.threePointFourierBasis.zeroIndex a =
            S,
          (FABL.threePointCIndicatorCoeff (a 0) *
              FABL.threePointCIndicatorCoeff (a 1)) 
            FABL.threePointFourierBasis.productFunction a
    theorem FABL.threePointBothCIndicator_orthogonalComponent_fourier
      (S : Finset (Fin 2)) :
      FABL.threePointFourierBasis.orthogonalComponent
          FABL.threePointBothCIndicator S =
         a with
          FABL.multiIndexSupport
              FABL.threePointFourierBasis.zeroIndex
              a =
            S,
          (FABL.threePointCIndicatorCoeff
                (a 0) *
              FABL.threePointCIndicatorCoeff
                (a 1)) 
            FABL.threePointFourierBasis.productFunction
              a
    Exercise 8.20: Proposition 8.36 specialized to the explicit Fourier expansion from
    Example 8.15. 
Lemma8.7.21
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.21. Let i\in S and fix coordinate i of f^{=S} to a value \omega_i, obtaining g. Prove g=g^{=S\setminus\{i\}}. If |S|\ge2, also prove \mathbb E[g]=0.

Lean code for Lemma8.7.216 declarations
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.restrictProductCoordinate.{u_1} {Ω : Type u_1} {n : }
      (f : FABL.ProductL2 Ω n) (i : Fin n) (ω : Ω) : FABL.ProductL2 Ω n
    def FABL.restrictProductCoordinate.{u_1}
      {Ω : Type u_1} {n : }
      (f : FABL.ProductL2 Ω n) (i : Fin n)
      (ω : Ω) : FABL.ProductL2 Ω n
    Fix coordinate `i` to `ω`, retaining the original coordinate type with `i` now dummy. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.restrictProductCoordinate_dependsOnly.{u_1} {Ω : Type u_1} {n : }
      {f : FABL.ProductL2 Ω n} {S : Finset (Fin n)}
      (hf : FABL.DependsOnlyOnCoordinates f S) {i : Fin n} (ω : Ω) :
      FABL.DependsOnlyOnCoordinates (FABL.restrictProductCoordinate f i ω)
        (S.erase i)
    theorem FABL.restrictProductCoordinate_dependsOnly.{u_1}
      {Ω : Type u_1} {n : }
      {f : FABL.ProductL2 Ω n}
      {S : Finset (Fin n)}
      (hf : FABL.DependsOnlyOnCoordinates f S)
      {i : Fin n} (ω : Ω) :
      FABL.DependsOnlyOnCoordinates
        (FABL.restrictProductCoordinate f i ω)
        (S.erase i)
    Restricting a coordinate removes that coordinate from every possible dependency set. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.coordinateProjection_restrictProductCoordinate.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (f : FABL.ProductL2 Ω n) {i j : Fin n}
      (hij : i  j) (ω : Ω) :
      FABL.coordinateProjection π j (FABL.restrictProductCoordinate f i ω) =
        FABL.restrictProductCoordinate (FABL.coordinateProjection π j f) i ω
    theorem FABL.coordinateProjection_restrictProductCoordinate.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n)
      {i j : Fin n} (hij : i  j) (ω : Ω) :
      FABL.coordinateProjection π j
          (FABL.restrictProductCoordinate f i
            ω) =
        FABL.restrictProductCoordinate
          (FABL.coordinateProjection π j f) i
          ω
    Restriction at `i` commutes with rerandomizing a distinct coordinate `j`. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n} (hiS : i  S) :
      FABL.coordinateProjection π i (B.orthogonalComponent f S) = 0
    theorem FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n}
      (hiS : i  S) :
      FABL.coordinateProjection π i
          (B.orthogonalComponent f S) =
        0
    Rerandomizing any coordinate in the exact support annihilates that component. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n} (_hiS : i  S) (ω : Ω) :
      B.orthogonalComponent
          (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω)
          (S.erase i) =
        FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω
    theorem FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n}
      (_hiS : i  S) (ω : Ω) :
      B.orthogonalComponent
          (FABL.restrictProductCoordinate
            (B.orthogonalComponent f S) i ω)
          (S.erase i) =
        FABL.restrictProductCoordinate
          (B.orthogonalComponent f S) i ω
    Exercise 8.21: after fixing coordinate `i ∈ S`, the restriction of `f^{=S}` is itself the
    exact-support component indexed by `S \ {i}`. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n} (hiS : i  S) (hcard : 2  S.card)
      (ω : Ω) :
      FABL.productMean π
          (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω) =
        0
    theorem FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      {S : Finset (Fin n)} {i : Fin n}
      (hiS : i  S) (hcard : 2  S.card)
      (ω : Ω) :
      FABL.productMean π
          (FABL.restrictProductCoordinate
            (B.orthogonalComponent f S) i ω) =
        0
    Exercise 8.21, mean-zero consequence: after restricting one coordinate of a component of
    order at least two, the resulting function still has mean zero. 
Lemma8.7.22
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.22. If f is symmetric and 1\le|S|\le|T|\le n, prove \frac1{|S|}\operatorname{Var}[f^{\subseteq S}] \le \frac1{|T|}\operatorname{Var}[f^{\subseteq T}].

Lean code for Lemma8.7.2212 declarations
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.permuteProductInput.{u_1} {Ω : Type u_1} {n : }
      (σ : Equiv.Perm (Fin n)) (x : Fin n  Ω) : Fin n  Ω
    def FABL.permuteProductInput.{u_1}
      {Ω : Type u_1} {n : }
      (σ : Equiv.Perm (Fin n))
      (x : Fin n  Ω) : Fin n  Ω
    Permute the coordinates of a product-space input. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.permuteProductFunction.{u_1} {Ω : Type u_1} {n : }
      (σ : Equiv.Perm (Fin n)) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
    def FABL.permuteProductFunction.{u_1}
      {Ω : Type u_1} {n : }
      (σ : Equiv.Perm (Fin n))
      (f : FABL.ProductL2 Ω n) :
      FABL.ProductL2 Ω n
    Pull a product-space function back along a coordinate permutation. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.productProbabilityPMF_permuteProductInput.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (σ : Equiv.Perm (Fin n))
      (x : Fin n  Ω) :
      (FABL.productProbabilityPMF π n) (FABL.permuteProductInput σ x) =
        (FABL.productProbabilityPMF π n) x
    theorem FABL.productProbabilityPMF_permuteProductInput.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (σ : Equiv.Perm (Fin n))
      (x : Fin n  Ω) :
      (FABL.productProbabilityPMF π n)
          (FABL.permuteProductInput σ x) =
        (FABL.productProbabilityPMF π n) x
    The product probability mass is invariant under coordinate permutations. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.productInner_permuteProductFunction.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (σ : Equiv.Perm (Fin n))
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n (FABL.permuteProductFunction σ f)
          (FABL.permuteProductFunction σ g) =
        FABL.productInner π n f g
    theorem FABL.productInner_permuteProductFunction.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (σ : Equiv.Perm (Fin n))
      (f g : FABL.ProductL2 Ω n) :
      FABL.productInner π n
          (FABL.permuteProductFunction σ f)
          (FABL.permuteProductFunction σ g) =
        FABL.productInner π n f g
    The weighted product inner product is invariant under simultaneously permuting both
    functions' coordinates. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.IsProductSymmetric.{u_1} {Ω : Type u_1} {n : }
      (f : FABL.ProductL2 Ω n) : Prop
    def FABL.IsProductSymmetric.{u_1}
      {Ω : Type u_1} {n : }
      (f : FABL.ProductL2 Ω n) : Prop
    A function on a product space is symmetric when every coordinate permutation fixes it. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)}
      (hcard : S.card = T.card) :
      FABL.productInner π n (B.orthogonalComponent f S)
          (B.orthogonalComponent f S) =
        FABL.productInner π n (B.orthogonalComponent f T)
          (B.orthogonalComponent f T)
    theorem FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f)
      {S T : Finset (Fin n)}
      (hcard : S.card = T.card) :
      FABL.productInner π n
          (B.orthogonalComponent f S)
          (B.orthogonalComponent f S) =
        FABL.productInner π n
          (B.orthogonalComponent f T)
          (B.orthogonalComponent f T)
    Equal-cardinality exact-support components of a symmetric function have equal squared
    `L²` norm. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.FiniteFourierBasis.orthogonalComponentEnergy.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) : 
    def FABL.FiniteFourierBasis.orthogonalComponentEnergy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) : 
    The squared `L²` energy of one exact-support component. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      FABL.productVariance π (FABL.projectOnCoordinates π S f) =
         U  S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U
    theorem FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (S : Finset (Fin n)) :
      FABL.productVariance π
          (FABL.projectOnCoordinates π S f) =
         U  S.powerset with U.Nonempty,
          B.orthogonalComponentEnergy f U
    The variance of a coordinate projection is the total energy of its nonempty exact-support
    components. 
  • defdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    def FABL.FiniteFourierBasis.symmetricLevelEnergy.{u_1, u_2} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n) (k : ) : 
    def FABL.FiniteFourierBasis.symmetricLevelEnergy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : FABL.ProductL2 Ω n)
      (k : ) : 
    The common level energy used to count components of a symmetric function.  The zero level is
    set to zero because variance omits the empty component. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f) (S : Finset (Fin n)) :
       U  S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U =
         k  Finset.range (S.card + 1),
          (S.card.choose k) * B.symmetricLevelEnergy f k
    theorem FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f)
      (S : Finset (Fin n)) :
       U  S.powerset with U.Nonempty,
          B.orthogonalComponentEnergy f U =
         k  Finset.range (S.card + 1),
          (S.card.choose k) *
            B.symmetricLevelEnergy f k
    For a symmetric function, the nonempty component-energy sum below `S` is the binomially
    weighted sum of the common level energies. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.mul_choose_le_mul_choose_of_le {s t k : } (hst : s  t)
      (hk : 0 < k) : t * s.choose k  s * t.choose k
    theorem FABL.mul_choose_le_mul_choose_of_le
      {s t k : } (hst : s  t) (hk : 0 < k) :
      t * s.choose k  s * t.choose k
    The elementary binomial inequality behind Exercise 8.22. 
  • theoremdefined in FABL/Chapter08/OrthogonalDecomposition.lean
    complete
    theorem FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)}
      (hS : 1  S.card) (hST : S.card  T.card) :
      FABL.productVariance π (FABL.projectOnCoordinates π S f) / S.card 
        FABL.productVariance π (FABL.projectOnCoordinates π T f) / T.card
    theorem FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.IsProductSymmetric f)
      {S T : Finset (Fin n)} (hS : 1  S.card)
      (hST : S.card  T.card) :
      FABL.productVariance π
            (FABL.projectOnCoordinates π S
              f) /
          S.card 
        FABL.productVariance π
            (FABL.projectOnCoordinates π T
              f) /
          T.card
    Exercise 8.22: for a symmetric function, normalized projected variance is monotone with
    the size of the revealed coordinate set. 
Lemma8.7.23
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.23 (Condorcet Jury Theorem). Prove the two majority threshold bounds in Example 8.49, for every fixed \epsilon>0, using a quantitative concentration bound for the biased sum of independent signs.

Lean code for Lemma8.7.234 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.biasedSignAverage (n : ) (x : FABL.SignCube n) : 
    def FABL.biasedSignAverage (n : )
      (x : FABL.SignCube n) : 
    Average sign of a finite vote profile. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.measure_abs_biasedSignAverage_sub_mean_ge_le {n : } (hn : 0 < n)
      (p : ) (hp : p  Set.Icc 0 1) (t : ) (ht : 0  t) :
      (FABL.productProbabilityPMF (FABL.biasedSignPMF p hp)
                n).toMeasure.real
          {x | t  |FABL.biasedSignAverage n x - FABL.biasMean p|} 
        2 * Real.exp (-n * t ^ 2 / 2)
    theorem FABL.measure_abs_biasedSignAverage_sub_mean_ge_le
      {n : } (hn : 0 < n) (p : )
      (hp : p  Set.Icc 0 1) (t : )
      (ht : 0  t) :
      (FABL.productProbabilityPMF
                (FABL.biasedSignPMF p hp)
                n).toMeasure.real
          {x |
            t 
              |FABL.biasedSignAverage n x -
                  FABL.biasMean p|} 
        2 * Real.exp (-n * t ^ 2 / 2)
    Hoeffding concentration for the empirical average of independent biased signs. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.biasedMinusProbability_majority_lower_le_two_mul_exp (m : )
      (C : ) (hC : 0  C) (hvalid : C / (2 * m + 1)  1 / 2) :
      FABL.biasedMinusProbability (1 / 2 - C / (2 * m + 1)) 
          (FABL.majority (2 * m + 1)) 
        2 * Real.exp (-(2 * C ^ 2))
    theorem FABL.biasedMinusProbability_majority_lower_le_two_mul_exp
      (m : ) (C : ) (hC : 0  C)
      (hvalid : C / (2 * m + 1)  1 / 2) :
      FABL.biasedMinusProbability
          (1 / 2 - C / (2 * m + 1)) 
          (FABL.majority (2 * m + 1)) 
        2 * Real.exp (-(2 * C ^ 2))
    Quantitative lower-side Condorcet bound. For every valid bias
    `p = 1/2 - C/sqrt(n)`, odd majority's true (`-1`) probability is at most
    `2 exp(-2 C^2)`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.one_sub_two_mul_exp_le_biasedMinusProbability_majority_upper
      (m : ) (C : ) (hC : 0  C) (hvalid : C / (2 * m + 1)  1 / 2) :
      1 - 2 * Real.exp (-(2 * C ^ 2)) 
        FABL.biasedMinusProbability (1 / 2 + C / (2 * m + 1)) 
          (FABL.majority (2 * m + 1))
    theorem FABL.one_sub_two_mul_exp_le_biasedMinusProbability_majority_upper
      (m : ) (C : ) (hC : 0  C)
      (hvalid : C / (2 * m + 1)  1 / 2) :
      1 - 2 * Real.exp (-(2 * C ^ 2)) 
        FABL.biasedMinusProbability
          (1 / 2 + C / (2 * m + 1)) 
          (FABL.majority (2 * m + 1))
    Quantitative upper-side Condorcet bound. 
Lemma8.7.24
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.24. For independent biased coordinates with p_i\in(0,1), \mu_i=1-2p_i, and \sigma_i=2\sqrt{p_i(1-p_i)}, prove \operatorname{Inf}_i[f] =\sigma_i^2\Pr[f(x)\ne f(x^{\oplus i})]. For monotone Boolean f, prove \operatorname{Inf}_i[f]=\sigma_i\widehat f(\{i\}).

Lean code for Lemma8.7.245 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBiasedSignPMF {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1) : PMF (FABL.SignCube n)
    def FABL.heterogeneousBiasedSignPMF {n : }
      (p : Fin n  )
      (hp :
         (i : Fin n), p i  Set.Ioo 0 1) :
      PMF (FABL.SignCube n)
    Exercise 8.24: the independent sign law with a separate bias at every coordinate. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBiasedInfluence {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1) (f : FABL.SignCube n  )
      (i : Fin n) : 
    def FABL.heterogeneousBiasedInfluence {n : }
      (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.SignCube n  ) (i : Fin n) :
      
    Exercise 8.24: nonhomogeneous coordinate influence is the mean conditional variance using
    the `i`th marginal while all coordinates follow their prescribed independent laws. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBiasedFlipProbability {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (i : Fin n) : 
    def FABL.heterogeneousBiasedFlipProbability
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (i : Fin n) : 
    Probability that deterministic flipping changes a Boolean function under the
    nonhomogeneous product law. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.heterogeneousBiasedInfluence_eq_sigma_sq_mul_flipProbability
      {n : } (p : Fin n  ) (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n) (i : Fin n) :
      FABL.heterogeneousBiasedInfluence p hp f.toReal i =
        FABL.biasSigma (p i) ^ 2 *
          FABL.heterogeneousBiasedFlipProbability p hp f i
    theorem FABL.heterogeneousBiasedInfluence_eq_sigma_sq_mul_flipProbability
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.heterogeneousBiasedInfluence p hp
          f.toReal i =
        FABL.biasSigma (p i) ^ 2 *
          FABL.heterogeneousBiasedFlipProbability
            p hp f i
    Exercise 8.24, nonhomogeneous Proposition 8.45: the `i`th influence is `sigma_i^2`
    times deterministic-flip probability. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.heterogeneousBiasedInfluence_eq_sigma_mul_singletonCoeff_of_monotone
      {n : } (p : Fin n  ) (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n) (hf : Monotone f) (i : Fin n) :
      FABL.heterogeneousBiasedInfluence p hp f.toReal i =
        FABL.biasSigma (p i) *
          FABL.heterogeneousBiasedFourierCoeff p hp f.toReal {i}
    theorem FABL.heterogeneousBiasedInfluence_eq_sigma_mul_singletonCoeff_of_monotone
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (i : Fin n) :
      FABL.heterogeneousBiasedInfluence p hp
          f.toReal i =
        FABL.biasSigma (p i) *
          FABL.heterogeneousBiasedFourierCoeff
            p hp f.toReal {i}
    Exercise 8.24, monotone case: nonhomogeneous influence is `sigma_i` times the
    nonhomogeneous singleton Fourier coefficient. 
Lemma8.7.25
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.4.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.25. For S=\{i_1,ldots,i_k\} in the nonhomogeneous biased cube, prove D_{\phi_S}=\left(\prod_{i\in S}\sigma_i\right)D_{x_S}, \widehat{f^{(p)}}(S) =\left(\prod_{i\in S}\sigma_i\right) D_{x_S}f(\mu_1,ldots,\mu_n), and the pointwise coefficient bound |\widehat{f^{(p)}}(S)| \le\left(\prod_{i\in S}\sigma_i\right)\|f\|_\infty.

Lean code for Lemma8.7.257 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBiasedMonomial {n : } (p : Fin n  )
      (S : Finset (Fin n)) (x : FABL.SignCube n) : 
    def FABL.heterogeneousBiasedMonomial {n : }
      (p : Fin n  ) (S : Finset (Fin n))
      (x : FABL.SignCube n) : 
    The nonhomogeneous biased monomial `phi_S`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBiasedFourierCoeff {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1) (f : FABL.SignCube n  )
      (S : Finset (Fin n)) : 
    def FABL.heterogeneousBiasedFourierCoeff
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) : 
    The nonhomogeneous biased Fourier coefficient, as its defining weighted correlation. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.cubePartialDerivativeAt {n : } (f : FABL.SignCube n  )
      (S : Finset (Fin n)) (mu : Fin n  ) : 
    def FABL.cubePartialDerivativeAt {n : }
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) (mu : Fin n  ) :
      
    The multilinear `S`-partial derivative of a cube function, evaluated at a vector `mu`.
    This is the coefficient formula obtained by differentiating the usual multilinear expansion. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.heterogeneousBasisPartialDerivativeAt {n : } (p : Fin n  )
      (f : FABL.SignCube n  ) (S : Finset (Fin n)) (x : Fin n  ) : 
    def FABL.heterogeneousBasisPartialDerivativeAt
      {n : } (p : Fin n  )
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) (x : Fin n  ) : 
    Exercise 8.25(a): the iterated standardized-basis derivative is the product of the
    coordinate scales times the usual multilinear partial derivative. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul {n : }
      (p : Fin n  ) (f : FABL.SignCube n  ) (S : Finset (Fin n))
      (x : Fin n  ) :
      FABL.heterogeneousBasisPartialDerivativeAt p f S x =
        (∏ i  S, FABL.biasSigma (p i)) * FABL.cubePartialDerivativeAt f S x
    theorem FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul
      {n : } (p : Fin n  )
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) (x : Fin n  ) :
      FABL.heterogeneousBasisPartialDerivativeAt
          p f S x =
        (∏ i  S, FABL.biasSigma (p i)) *
          FABL.cubePartialDerivativeAt f S x
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative
      {n : } (p : Fin n  ) (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.SignCube n  ) (S : Finset (Fin n)) :
      FABL.heterogeneousBiasedFourierCoeff p hp f S =
        (∏ i  S, FABL.biasSigma (p i)) *
          FABL.cubePartialDerivativeAt f S fun i => FABL.biasMean (p i)
    theorem FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) :
      FABL.heterogeneousBiasedFourierCoeff p
          hp f S =
        (∏ i  S, FABL.biasSigma (p i)) *
          FABL.cubePartialDerivativeAt f S
            fun i => FABL.biasMean (p i)
    Exercise 8.25(b): the exact nonhomogeneous biased coefficient/partial-derivative formula. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.abs_heterogeneousBiasedFourierCoeff_le {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1) (f : FABL.SignCube n  )
      (S : Finset (Fin n)) :
      |FABL.heterogeneousBiasedFourierCoeff p hp f S| 
        (∏ i  S, FABL.biasSigma (p i)) * f
    theorem FABL.abs_heterogeneousBiasedFourierCoeff_le
      {n : } (p : Fin n  )
      (hp :  (i : Fin n), p i  Set.Ioo 0 1)
      (f : FABL.SignCube n  )
      (S : Finset (Fin n)) :
      |FABL.heterogeneousBiasedFourierCoeff p
            hp f S| 
        (∏ i  S, FABL.biasSigma (p i)) * f
    Exercise 8.25(c): every nonhomogeneous biased coefficient is bounded by the product of
    the coordinate scales times the sup norm of the function. 
Lemma8.7.26
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 4.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.26. The printed part (a) claims, for every Boolean f, \Pr[i\text{ is }b\text{-pivotal}] =\pi_p(b)\operatorname{Inf}_i[f]. This is false when p\ne1/2: a dictator gives left side \pi_p(b) and right side \pi_p(b)\sigma^2. The exact general identity is \Pr[i\text{ is }(+1)\text{-pivotal}] +\Pr[i\text{ is }(-1)\text{-pivotal}] =\frac{\operatorname{Inf}_i[f]}{\sigma^2}. If f is monotone, the two directions further satisfy the corrected formula \Pr[i\text{ is }b\text{-pivotal}] =\pi_p(b)\frac{\operatorname{Inf}_i[f]}{\sigma^2}.

For part (b), if \operatorname{DNFwidth}(f)\le w, prove \mathbf I[f^{(p)}]\le4qw\le4w; if \operatorname{CNFwidth}(f)\le w, prove \mathbf I[f^{(p)}]\le4pw\le4w.

Lean code for Lemma8.7.267 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.IsOutputPivotal {n : } (f : FABL.BooleanFunction n)
      (b : FABL.Sign) (i : Fin n) (x : FABL.SignCube n) : Prop
    def FABL.IsOutputPivotal {n : }
      (f : FABL.BooleanFunction n)
      (b : FABL.Sign) (i : Fin n)
      (x : FABL.SignCube n) : Prop
    Coordinate `i` is output-`b`-pivotal when flipping it changes the value and the current
    output is `b` (the convention of Exercise 2.10 and the printed Exercise 8.26). 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.biasedOutputPivotalProbability {n : } (p : )
      (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n) (b : FABL.Sign)
      (i : Fin n) : 
    def FABL.biasedOutputPivotalProbability
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (b : FABL.Sign) (i : Fin n) : 
    Homogeneous output-pivotal probability, using the canonical product PMF. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (b : FABL.Sign) (i : Fin n) :
      FABL.biasSigma p ^ 2 *
          FABL.biasedOutputPivotalProbability p hp f b i =
        FABL.biasedSignMass p b *
          FABL.productInfluence (FABL.biasedSignPMF p ) f.toReal i
    theorem FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (b : FABL.Sign)
      (i : Fin n) :
      FABL.biasSigma p ^ 2 *
          FABL.biasedOutputPivotalProbability
            p hp f b i =
        FABL.biasedSignMass p b *
          FABL.productInfluence
            (FABL.biasedSignPMF p ) f.toReal
            i
    Corrected Exercise 8.26(a) for the homogeneous monotone cube. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.printed_outputPivotal_probability_formula_false :
      FABL.biasedOutputPivotalProbability (1 / 4)
          FABL.biasedOutputPivotalProbability_dictator_one_quarter._proof_1
          (FABL.dictator 0) (-1) 0 
        FABL.biasedSignMass (1 / 4) (-1) *
          FABL.productInfluence
            (FABL.biasedSignPMF (1 / 4)
              FABL.productInfluence_dictator_one_quarter._proof_1)
            (FABL.dictator 0).toReal 0
    theorem FABL.printed_outputPivotal_probability_formula_false :
      FABL.biasedOutputPivotalProbability
          (1 / 4)
          FABL.biasedOutputPivotalProbability_dictator_one_quarter._proof_1
          (FABL.dictator 0) (-1) 0 
        FABL.biasedSignMass (1 / 4) (-1) *
          FABL.productInfluence
            (FABL.biasedSignPMF (1 / 4)
              FABL.productInfluence_dictator_one_quarter._proof_1)
            (FABL.dictator 0).toReal 0
    Explicit counterexample to the printed Exercise 8.26(a) equality. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.outputPivotalCount {n : } (f : FABL.BooleanFunction n)
      (b : FABL.Sign) (x : FABL.SignCube n) : 
    def FABL.outputPivotalCount {n : }
      (f : FABL.BooleanFunction n)
      (b : FABL.Sign) (x : FABL.SignCube n) :
      
    The number of output-`b`-pivotal coordinates at an input. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (w : ) (hwidth : FABL.HasDNFWidthLE f w) :
      FABL.productTotalInfluence (FABL.biasedSignPMF p ) f.toReal  4 * w
    theorem FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (w : )
      (hwidth : FABL.HasDNFWidthLE f w) :
      FABL.productTotalInfluence
          (FABL.biasedSignPMF p ) f.toReal 
        4 * w
    The DNF-side bound is in particular at most `4w`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (w : ) (hwidth : FABL.HasCNFWidthLE f w) :
      FABL.productTotalInfluence (FABL.biasedSignPMF p ) f.toReal  4 * w
    theorem FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (w : )
      (hwidth : FABL.HasCNFWidthLE f w) :
      FABL.productTotalInfluence
          (FABL.biasedSignPMF p ) f.toReal 
        4 * w
    The CNF-side bound is in particular at most `4w`. 
Lemma8.7.27
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.27. For every \alpha\in(0,1) and every nonconstant monotone Boolean f, prove there is a unique p\in(0,1) such that \Pr_{\pi_p^{\otimes n}}[f=\mathrm{True}]=\alpha.

Lean code for Lemma8.7.271 theorem
  • theoremdefined in FABL/Chapter08/BiasedAnalysis.lean
    complete
    theorem FABL.existsUnique_biasedMinusProbabilityPolynomial_eq {n : }
      (f : FABL.BooleanFunction n) (hmono : Monotone f)
      (hnonconst : FABL.IsNonconstantCubeFunction f) (α : )
      ( : α  Set.Ioo 0 1) :
      ∃! p, p  Set.Ioo 0 1  FABL.biasedMinusProbabilityPolynomial f p = α
    theorem FABL.existsUnique_biasedMinusProbabilityPolynomial_eq
      {n : } (f : FABL.BooleanFunction n)
      (hmono : Monotone f)
      (hnonconst :
        FABL.IsNonconstantCubeFunction f)
      (α : ) ( : α  Set.Ioo 0 1) :
      ∃! p,
        p  Set.Ioo 0 1 
          FABL.biasedMinusProbabilityPolynomial
              f p =
            α
    Exercise 8.27: every probability level in `(0,1)` is attained at a unique bias. 
Definition8.7.28
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 8.4.10
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.28. Fix 0<\epsilon<1/2. Let p_0,p_c,p_1 be the unique parameters at which a monotone Boolean function has true-probability \epsilon,1/2,1-\epsilon, respectively. Put \sigma_c^2=4p_c(1-p_c) and \delta=p_1-p_0. A sequence (f_n) has a sharp threshold when \frac{\delta(n)}{\sigma_c^2(n)}\longrightarrow0; otherwise it has a coarse threshold. Prove that in the coarse case there are C<\infty, an infinite subsequence n_i, and parameters p(n_i) such that \epsilon<\Pr[f_{n_i}=\mathrm{True}]<1-\epsilon, \qquad \mathbf I[f_{n_i}^{(p(n_i))}]\le C.

Lean code for Definition8.7.2811 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.biasedProbabilityLevel {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f)
      (alpha : ) (halpha : alpha  Set.Ioo 0 1) : 
    def FABL.biasedProbabilityLevel {n : }
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (alpha : )
      (halpha : alpha  Set.Ioo 0 1) : 
    The unique parameter at which a nonconstant monotone Boolean function has prescribed
    `-1` probability `alpha`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.thresholdLowerParameter {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) :
      
    def FABL.thresholdLowerParameter {n : }
      (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f) :
      
    Exercise 8.28's lower threshold parameter `p_0`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.thresholdUpperParameter {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) :
      
    def FABL.thresholdUpperParameter {n : }
      (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f) :
      
    Exercise 8.28's upper threshold parameter `p_1`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.thresholdWidth {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) :
      
    def FABL.thresholdWidth {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f) :
      
    Exercise 8.28's threshold width. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.normalizedThresholdWidth (dimension :   )
      (family : (k : )  FABL.BooleanFunction (dimension k))
      (hmonotone :  (k : ), Monotone (family k))
      (hnonconstant :  (k : ), FABL.IsNonconstantCubeFunction (family k))
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (k : ) : 
    def FABL.normalizedThresholdWidth
      (dimension :   )
      (family :
        (k : ) 
          FABL.BooleanFunction (dimension k))
      (hmonotone :
         (k : ), Monotone (family k))
      (hnonconstant :
         (k : ),
          FABL.IsNonconstantCubeFunction
            (family k))
      (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (k : ) : 
    Exercise 8.28's normalized threshold-width sequence. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.HasSharpThreshold (dimension :   )
      (family : (k : )  FABL.BooleanFunction (dimension k))
      (hmonotone :  (k : ), Monotone (family k))
      (hnonconstant :  (k : ), FABL.IsNonconstantCubeFunction (family k))
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) : Prop
    def FABL.HasSharpThreshold (dimension :   )
      (family :
        (k : ) 
          FABL.BooleanFunction (dimension k))
      (hmonotone :
         (k : ), Monotone (family k))
      (hnonconstant :
         (k : ),
          FABL.IsNonconstantCubeFunction
            (family k))
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 2)) :
      Prop
    Exercise 8.28: a family has a sharp threshold when normalized threshold width tends to
    zero. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.HasCoarseThreshold (dimension :   )
      (family : (k : )  FABL.BooleanFunction (dimension k))
      (hmonotone :  (k : ), Monotone (family k))
      (hnonconstant :  (k : ), FABL.IsNonconstantCubeFunction (family k))
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) : Prop
    def FABL.HasCoarseThreshold
      (dimension :   )
      (family :
        (k : ) 
          FABL.BooleanFunction (dimension k))
      (hmonotone :
         (k : ), Monotone (family k))
      (hnonconstant :
         (k : ),
          FABL.IsNonconstantCubeFunction
            (family k))
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 2)) :
      Prop
    Exercise 8.28: coarse threshold is the negation of sharp threshold. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.exists_thresholdInterval_influence_eq {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) :
       p,
        FABL.productTotalInfluence (FABL.biasedSignPMF p ) f.toReal =
          FABL.biasSigma p ^ 2 * (1 - 2 * epsilon) /
            FABL.thresholdWidth epsilon hepsilon f hf hnonconstant
    theorem FABL.exists_thresholdInterval_influence_eq
      {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f) :
       p,
        FABL.productTotalInfluence
            (FABL.biasedSignPMF p )
            f.toReal =
          FABL.biasSigma p ^ 2 *
              (1 - 2 * epsilon) /
            FABL.thresholdWidth epsilon
              hepsilon f hf hnonconstant
    Exercise 8.28's Mean Value Theorem witness, with its exact biased influence value. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.exists_thresholdInterval_probability_and_influence_le {n : }
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (eta : )
      (heta : 0 < eta)
      (hwidth :
        eta *
            FABL.biasVarianceScale
              (FABL.criticalProbability f hf hnonconstant) 
          FABL.thresholdWidth epsilon hepsilon f hf hnonconstant) :
       p,
        epsilon < FABL.biasedMinusProbabilityPolynomial f p 
          FABL.biasedMinusProbabilityPolynomial f p < 1 - epsilon 
            FABL.productTotalInfluence (FABL.biasedSignPMF p ) f.toReal 
              (1 - 2 * epsilon) * (4 + 1 / eta)
    theorem FABL.exists_thresholdInterval_probability_and_influence_le
      {n : } (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (eta : ) (heta : 0 < eta)
      (hwidth :
        eta *
            FABL.biasVarianceScale
              (FABL.criticalProbability f hf
                hnonconstant) 
          FABL.thresholdWidth epsilon hepsilon
            f hf hnonconstant) :
       p,
        epsilon <
            FABL.biasedMinusProbabilityPolynomial
              f p 
          FABL.biasedMinusProbabilityPolynomial
                f p <
              1 - epsilon 
            FABL.productTotalInfluence
                (FABL.biasedSignPMF p )
                f.toReal 
              (1 - 2 * epsilon) *
                (4 + 1 / eta)
    Exercise 8.28's quantitative one-function consequence: if the normalized threshold width
    is bounded below by `eta`, some interior parameter has uniformly bounded total influence. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero
      (a :   ) (ha :  (k : ), 0  a k)
      (hnot : ¬Filter.Tendsto a Filter.atTop (nhds 0)) :
       eta > 0,  phi, StrictMono phi   (k : ), eta  a (phi k)
    theorem FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero
      (a :   ) (ha :  (k : ), 0  a k)
      (hnot :
        ¬Filter.Tendsto a Filter.atTop
            (nhds 0)) :
       eta > 0,
         phi,
          StrictMono phi 
             (k : ), eta  a (phi k)
    A nonnegative real sequence that does not tend to zero has a positive lower bound along
    a strictly increasing subsequence. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence
      (dimension :   )
      (family : (k : )  FABL.BooleanFunction (dimension k))
      (hmonotone :  (k : ), Monotone (family k))
      (hnonconstant :  (k : ), FABL.IsNonconstantCubeFunction (family k))
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (hcoarse :
        FABL.HasCoarseThreshold dimension family hmonotone hnonconstant
          epsilon hepsilon) :
       C phi,
        StrictMono phi 
           parameter,
             (k : ),
              epsilon <
                  FABL.biasedMinusProbabilityPolynomial (family (phi k))
                    (parameter k) 
                FABL.biasedMinusProbabilityPolynomial (family (phi k))
                      (parameter k) <
                    1 - epsilon 
                  FABL.productTotalInfluence
                      (FABL.biasedSignPMF (parameter k) )
                      (family (phi k)).toReal 
                    C
    theorem FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence
      (dimension :   )
      (family :
        (k : ) 
          FABL.BooleanFunction (dimension k))
      (hmonotone :
         (k : ), Monotone (family k))
      (hnonconstant :
         (k : ),
          FABL.IsNonconstantCubeFunction
            (family k))
      (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (hcoarse :
        FABL.HasCoarseThreshold dimension
          family hmonotone hnonconstant
          epsilon hepsilon) :
       C phi,
        StrictMono phi 
           parameter,
             (k : ),
              epsilon <
                  FABL.biasedMinusProbabilityPolynomial
                    (family (phi k))
                    (parameter k) 
                FABL.biasedMinusProbabilityPolynomial
                      (family (phi k))
                      (parameter k) <
                    1 - epsilon 
                  FABL.productTotalInfluence
                      (FABL.biasedSignPMF
                        (parameter k) )
                      (family
                          (phi k)).toReal 
                    C
    Exercise 8.28: every coarse-threshold family has an infinite subsequence of interior
    parameters at which total influence is bounded by one finite constant. 
Lemma8.7.29
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 2.3.19
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.29. Let F(p)=\Pr_{\pi_p^{\otimes n}}[f=-1], with F(p_c)=1/2 and p_c\le1/2. Prove F'(p)\ge\frac{F(p)(1-F(p))}{p(1-p)}. For p\le p_c, deduce F'(p)\ge F(p)/(2p) and (\ln F(p))'\ge1/(2p). Hence for 0\le p_0\le p_c, F(p_0)\le\frac12\sqrt{p_0/p_c}, and p_0\le(2\epsilon)^2p_c implies F(p_0)\le\epsilon. Prove the stated \Theta(\tau)\epsilon^{1+\tau} refinement, the symmetric upper side conclusion at p_1=(1/(2\epsilon))^2p_c when p_1\le1/2, and F(1/2)\ge1-\sqrt{p_c/2}, \qquad F(1-\delta)\ge1-\sqrt{\delta/2} in the remaining endpoint cases.

Lean code for Lemma8.7.2922 declarations
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (p : )
      (hp : p  Set.Ioo 0 1) :
      deriv (FABL.biasedMinusProbabilityPolynomial f) p 
        FABL.biasedMinusProbabilityPolynomial f p *
            (1 - FABL.biasedMinusProbabilityPolynomial f p) /
          (p * (1 - p))
    theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (p : )
      (hp : p  Set.Ioo 0 1) :
      deriv
          (FABL.biasedMinusProbabilityPolynomial
            f)
          p 
        FABL.biasedMinusProbabilityPolynomial
              f p *
            (1 -
              FABL.biasedMinusProbabilityPolynomial
                f p) /
          (p * (1 - p))
    Exercise 8.29(a): Margulis--Russo plus Poincare gives the universal logistic
    differential inequality. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : )
      (hp : p  Set.Ioo 0 1) (hpc : pc  Set.Icc 0 1) (hppc : p  pc)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      deriv (FABL.biasedMinusProbabilityPolynomial f) p 
        FABL.biasedMinusProbabilityPolynomial f p / (2 * p)
    theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (p pc : ) (hp : p  Set.Ioo 0 1)
      (hpc : pc  Set.Icc 0 1) (hppc : p  pc)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      deriv
          (FABL.biasedMinusProbabilityPolynomial
            f)
          p 
        FABL.biasedMinusProbabilityPolynomial
            f p /
          (2 * p)
    Exercise 8.29(b), first inequality: below the critical probability the derivative is at
    least `F(p)/(2p)`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.deriv_log_biasedMinusProbabilityPolynomial_ge {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : )
      (hp : p  Set.Ioo 0 1) (hpc : pc  Set.Icc 0 1) (hppc : p  pc)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      deriv (fun t => Real.log (FABL.biasedMinusProbabilityPolynomial f t))
          p 
        1 / (2 * p)
    theorem FABL.deriv_log_biasedMinusProbabilityPolynomial_ge
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (p pc : ) (hp : p  Set.Ioo 0 1)
      (hpc : pc  Set.Icc 0 1) (hppc : p  pc)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      deriv
          (fun t =>
            Real.log
              (FABL.biasedMinusProbabilityPolynomial
                f t))
          p 
        1 / (2 * p)
    Exercise 8.29(b), logarithmic form. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.weakThresholdLogRatio {n : } (f : FABL.BooleanFunction n)
      (p : ) : 
    def FABL.weakThresholdLogRatio {n : }
      (f : FABL.BooleanFunction n) (p : ) : 
    The logarithmic quantity used to integrate Exercise 8.29(b). 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.weakThresholdLogRatio_monotoneOn {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : )
      (hpc : pc  Set.Ioo 0 1)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      MonotoneOn (FABL.weakThresholdLogRatio f) (Set.Ioc 0 pc)
    theorem FABL.weakThresholdLogRatio_monotoneOn
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc : ) (hpc : pc  Set.Ioo 0 1)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      MonotoneOn
        (FABL.weakThresholdLogRatio f)
        (Set.Ioc 0 pc)
    Below the critical probability, `log F(p) - (1/2) log p` is monotone. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical
      {n : } (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (p0 pc : )
      (hp0 : p0  Set.Icc 0 pc) (hpc : pc  Set.Ioo 0 1)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      FABL.biasedMinusProbabilityPolynomial f p0  1 / 2 * (p0 / pc)
    theorem FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (p0 pc : ) (hp0 : p0  Set.Icc 0 pc)
      (hpc : pc  Set.Ioo 0 1)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      FABL.biasedMinusProbabilityPolynomial f
          p0 
        1 / 2 * (p0 / pc)
    Exercise 8.29(c): for `0 ≤ p0 ≤ pc`, `F(p0) ≤ (1/2) sqrt(p0/pc)`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical
      {n : } (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon p0 pc : )
      (hepsilon : 0 < epsilon) (hp0 : p0  Set.Icc 0 pc)
      (hpc : pc  Set.Ioo 0 1)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2)
      (hsmall : p0  (2 * epsilon) ^ 2 * pc) :
      FABL.biasedMinusProbabilityPolynomial f p0  epsilon
    theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (epsilon p0 pc : )
      (hepsilon : 0 < epsilon)
      (hp0 : p0  Set.Icc 0 pc)
      (hpc : pc  Set.Ioo 0 1)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2)
      (hsmall : p0  (2 * epsilon) ^ 2 * pc) :
      FABL.biasedMinusProbabilityPolynomial f
          p0 
        epsilon
    Exercise 8.29(c), epsilon consequence. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : )
      (hpc : pc  Set.Ioo 0 1) (hp : p  Set.Ioo 0 1) (hpcp : pc  p)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      deriv
          (fun t =>
            -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t))
          p 
        1 / (2 * p)
    theorem FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc p : ) (hpc : pc  Set.Ioo 0 1)
      (hp : p  Set.Ioo 0 1) (hpcp : pc  p)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      deriv
          (fun t =>
            -Real.log
                (1 -
                  FABL.biasedMinusProbabilityPolynomial
                    f t))
          p 
        1 / (2 * p)
    Exercise 8.29(e): above the critical probability (and below `1/2`), the derivative of
    `-log(1-F)` is at least `1/(2p)`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.weakUpperThresholdLogRatio {n : } (f : FABL.BooleanFunction n)
      (p : ) : 
    def FABL.weakUpperThresholdLogRatio {n : }
      (f : FABL.BooleanFunction n) (p : ) : 
    Upper-side logarithmic ratio used in Exercise 8.29(e). 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.weakUpperThresholdLogRatio_monotoneOn {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : )
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      MonotoneOn (FABL.weakUpperThresholdLogRatio f) (Set.Icc pc (1 / 2))
    theorem FABL.weakUpperThresholdLogRatio_monotoneOn
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc : ) (hpc : pc  Set.Ioo 0 (1 / 2))
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      MonotoneOn
        (FABL.weakUpperThresholdLogRatio f)
        (Set.Icc pc (1 / 2))
    The upper-side logarithmic ratio is monotone from `pc` to `1/2`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div
      {n : } (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : )
      (hpc : pc  Set.Ioo 0 (1 / 2)) (hp : p  Set.Icc pc (1 / 2))
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      1 - FABL.biasedMinusProbabilityPolynomial f p  1 / 2 * (pc / p)
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc p : )
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hp : p  Set.Icc pc (1 / 2))
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      1 -
          FABL.biasedMinusProbabilityPolynomial
            f p 
        1 / 2 * (pc / p)
    Exercise 8.29(e): for `pc ≤ p ≤ 1/2`, the upper tail is bounded by
    `(1/2) sqrt(pc/p)`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon pc p : )
      (hepsilon : 0 < epsilon) (hpc : pc  Set.Ioo 0 (1 / 2))
      (hp : p  Set.Icc pc (1 / 2))
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2)
      (hpLarge : (1 / (2 * epsilon)) ^ 2 * pc  p) :
      1 - FABL.biasedMinusProbabilityPolynomial f p  epsilon
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (epsilon pc p : )
      (hepsilon : 0 < epsilon)
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hp : p  Set.Icc pc (1 / 2))
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2)
      (hpLarge :
        (1 / (2 * epsilon)) ^ 2 * pc  p) :
      1 -
          FABL.biasedMinusProbabilityPolynomial
            f p 
        epsilon
    Exercise 8.29(e), explicit epsilon conclusion. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two
      {n : } (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : )
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      1 - FABL.biasedMinusProbabilityPolynomial f (1 / 2)  (pc / 2)
    theorem FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc : ) (hpc : pc  Set.Ioo 0 (1 / 2))
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      1 -
          FABL.biasedMinusProbabilityPolynomial
            f (1 / 2) 
        (pc / 2)
    Exercise 8.29(e), remaining endpoint case `p=1/2`. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.refinedThresholdLevel (tau : ) : 
    def FABL.refinedThresholdLevel (tau : ) : 
    The improved intermediate probability level `r = tau/(1+tau)`. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.refinedThresholdConstant (tau : ) : 
    def FABL.refinedThresholdConstant (tau : ) :
      
    The explicit `Theta(tau)` coefficient in the refined threshold cutoff. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.refinedThresholdCutoff (tau epsilon pc : ) : 
    def FABL.refinedThresholdCutoff
      (tau epsilon pc : ) : 
    The explicit cutoff from Exercise 8.29(d). 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.biasedMinusProbabilityPolynomial_le_refined_rpow {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (r p pa : )
      (hr : r  Set.Ioo 0 1) (hp : p  Set.Ioc 0 pa)
      (hpa : pa  Set.Ioo 0 1)
      (hFpa : FABL.biasedMinusProbabilityPolynomial f pa  r) :
      FABL.biasedMinusProbabilityPolynomial f p  r * (p / pa) ^ (1 - r)
    theorem FABL.biasedMinusProbabilityPolynomial_le_refined_rpow
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (r p pa : ) (hr : r  Set.Ioo 0 1)
      (hp : p  Set.Ioc 0 pa)
      (hpa : pa  Set.Ioo 0 1)
      (hFpa :
        FABL.biasedMinusProbabilityPolynomial
            f pa 
          r) :
      FABL.biasedMinusProbabilityPolynomial f
          p 
        r * (p / pa) ^ (1 - r)
    Integrated refined lower-side bound. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f)
      (tau epsilon pc p : ) (htau : tau  Set.Ioo 0 1)
      (hepsilon : epsilon  Set.Ioo 0 (FABL.refinedThresholdLevel tau))
      (hpc : pc  Set.Ioo 0 (1 / 2)) (hp : 0  p)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2)
      (hcutoff : p  FABL.refinedThresholdCutoff tau epsilon pc) :
      FABL.biasedMinusProbabilityPolynomial f p  epsilon
    theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (tau epsilon pc p : )
      (htau : tau  Set.Ioo 0 1)
      (hepsilon :
        epsilon 
          Set.Ioo 0
            (FABL.refinedThresholdLevel tau))
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hp : 0  p)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2)
      (hcutoff :
        p 
          FABL.refinedThresholdCutoff tau
            epsilon pc) :
      FABL.biasedMinusProbabilityPolynomial f
          p 
        epsilon
    Exercise 8.29(d), explicit `Theta(tau) * epsilon^(1+tau)` cutoff. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.deriv_neg_log_one_sub_probability_ge_endpoint {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : )
      (hpc : pc  Set.Ioo 0 1) (hp : p  Set.Ioo 0 1) (hpcp : pc  p)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      deriv
          (fun t =>
            -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t))
          p 
        1 / (2 * (1 - p))
    theorem FABL.deriv_neg_log_one_sub_probability_ge_endpoint
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc p : ) (hpc : pc  Set.Ioo 0 1)
      (hp : p  Set.Ioo 0 1) (hpcp : pc  p)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      deriv
          (fun t =>
            -Real.log
                (1 -
                  FABL.biasedMinusProbabilityPolynomial
                    f t))
          p 
        1 / (2 * (1 - p))
    Above the critical probability, the derivative of `-log(1-F(p))` also has the
    endpoint-sensitive lower bound `1/(2(1-p))`. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.endpointThresholdLogRatio {n : } (f : FABL.BooleanFunction n)
      (p : ) : 
    def FABL.endpointThresholdLogRatio {n : }
      (f : FABL.BooleanFunction n) (p : ) : 
    Logarithmic ratio adapted to the endpoint `p=1`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.endpointThresholdLogRatio_monotoneOn {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc b : )
      (hpc : pc  Set.Ioo 0 (1 / 2)) (hb : b  Set.Ico (1 / 2) 1)
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      MonotoneOn (FABL.endpointThresholdLogRatio f) (Set.Icc (1 / 2) b)
    theorem FABL.endpointThresholdLogRatio_monotoneOn
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc b : )
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hb : b  Set.Ico (1 / 2) 1)
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      MonotoneOn
        (FABL.endpointThresholdLogRatio f)
        (Set.Icc (1 / 2) b)
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc delta : )
      (hpc : pc  Set.Ioo 0 (1 / 2)) (hdelta : delta  Set.Ioo 0 (1 / 2))
      (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) :
      1 - (delta / 2)  FABL.biasedMinusProbabilityPolynomial f (1 - delta)
    theorem FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hnonconstant :
        FABL.IsNonconstantCubeFunction f)
      (pc delta : )
      (hpc : pc  Set.Ioo 0 (1 / 2))
      (hdelta : delta  Set.Ioo 0 (1 / 2))
      (hcritical :
        FABL.biasedMinusProbabilityPolynomial
            f pc =
          1 / 2) :
      1 - (delta / 2) 
        FABL.biasedMinusProbabilityPolynomial
          f (1 - delta)
    Exercise 8.29(f): `F(1-delta) ≥ 1 - sqrt(delta/2)`. 
Lemma8.7.30
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Lemma 8.4.12
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.30. For odd n\ge3, set f_n(x)=\operatorname{Maj}_3 (x_1,x_2,\operatorname{Maj}_{n-2}(x_3,\ldots,x_n)). Prove that f_n is monotone with p_c=1/2, determine its limiting true-probability curve, show \mathbf I[f_n]=\Theta(\sqrt n), and prove that for \epsilon<1/4 the family nevertheless has a coarse threshold.

Lean code for Lemma8.7.3032 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.majorityThreeValue (a b c : FABL.Sign) : FABL.Sign
    def FABL.majorityThreeValue
      (a b c : FABL.Sign) : FABL.Sign
    Three-input majority applied to three explicitly supplied signs. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.composedMajoritySplit (m : ) :
      FABL.ComposedMajoritySplitCube m  FABL.Sign
    def FABL.composedMajoritySplit (m : ) :
      FABL.ComposedMajoritySplitCube m 
        FABL.Sign
    Exercise 8.30's function in its transparent two-block representation. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.composedMajority (m : ) : FABL.BooleanFunction (2 + (2 * m + 1))
    def FABL.composedMajority (m : ) :
      FABL.BooleanFunction (2 + (2 * m + 1))
    Exercise 8.30's canonical sign-cube function. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.composedMajority_monotone (m : ) :
      Monotone (FABL.composedMajority m)
    theorem FABL.composedMajority_monotone (m : ) :
      Monotone (FABL.composedMajority m)
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.composedMajority_isNonconstant (m : ) :
      FABL.IsNonconstantCubeFunction (FABL.composedMajority m)
    theorem FABL.composedMajority_isNonconstant
      (m : ) :
      FABL.IsNonconstantCubeFunction
        (FABL.composedMajority m)
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.composedMajority_probability_formula (m : ) (p : )
      (hp : p  Set.Ioo 0 1) :
      FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p =
        p ^ 2 +
          2 * p * (1 - p) *
            FABL.biasedMinusProbabilityPolynomial
              (FABL.majority (2 * m + 1)) p
    theorem FABL.composedMajority_probability_formula
      (m : ) (p : ) (hp : p  Set.Ioo 0 1) :
      FABL.biasedMinusProbabilityPolynomial
          (FABL.composedMajority m) p =
        p ^ 2 +
          2 * p * (1 - p) *
            FABL.biasedMinusProbabilityPolynomial
              (FABL.majority (2 * m + 1)) p
    Exercise 8.30's exact finite true-probability curve. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.tendsto_composedMajority_probability_of_lt_half (p : )
      (hp : p  Set.Ioo 0 (1 / 2)) :
      Filter.Tendsto
        (fun m =>
          FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p)
        Filter.atTop (nhds (p ^ 2))
    theorem FABL.tendsto_composedMajority_probability_of_lt_half
      (p : ) (hp : p  Set.Ioo 0 (1 / 2)) :
      Filter.Tendsto
        (fun m =>
          FABL.biasedMinusProbabilityPolynomial
            (FABL.composedMajority m) p)
        Filter.atTop (nhds (p ^ 2))
    Exercise 8.30(b), lower branch of the limiting probability curve. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.tendsto_composedMajority_probability_of_half_lt (p : )
      (hp : p  Set.Ioo (1 / 2) 1) :
      Filter.Tendsto
        (fun m =>
          FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p)
        Filter.atTop (nhds (1 - (1 - p) ^ 2))
    theorem FABL.tendsto_composedMajority_probability_of_half_lt
      (p : ) (hp : p  Set.Ioo (1 / 2) 1) :
      Filter.Tendsto
        (fun m =>
          FABL.biasedMinusProbabilityPolynomial
            (FABL.composedMajority m) p)
        Filter.atTop (nhds (1 - (1 - p) ^ 2))
    Exercise 8.30(b), upper branch of the limiting probability curve. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.composedMajority_probability_one_half (m : ) :
      FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m)
          (1 / 2) =
        1 / 2
    theorem FABL.composedMajority_probability_one_half
      (m : ) :
      FABL.biasedMinusProbabilityPolynomial
          (FABL.composedMajority m) (1 / 2) =
        1 / 2
    The composed-majority curve is exactly balanced at `p=1/2`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.criticalProbability_composedMajority (m : ) :
      FABL.criticalProbability (FABL.composedMajority m)   = 1 / 2
    theorem FABL.criticalProbability_composedMajority
      (m : ) :
      FABL.criticalProbability
          (FABL.composedMajority m)   =
        1 / 2
    Exercise 8.30(a): the critical probability is `1/2`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.totalInfluence_composedMajority (m : ) :
      FABL.totalInfluence (FABL.composedMajority m).toReal =
        1 + 1 / 2 * FABL.totalInfluence (FABL.majority (2 * m + 1)).toReal
    theorem FABL.totalInfluence_composedMajority
      (m : ) :
      FABL.totalInfluence
          (FABL.composedMajority m).toReal =
        1 +
          1 / 2 *
            FABL.totalInfluence
              (FABL.majority
                  (2 * m + 1)).toReal
    The exact total influence of the composed-majority family.  The two distinguished
    coordinates together contribute `1`, while every tail influence is halved. 
  • defdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    def FABL.composedMajorityInfluenceError (m : ) : 
    def FABL.composedMajorityInfluenceError
      (m : ) : 
    The nonnegative remainder after the explicit square-root main term. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajorityInfluenceError_eq (m : ) :
      FABL.composedMajorityInfluenceError m =
        1 / 2 * FABL.oddMajorityTotalInfluenceError m
    theorem FABL.composedMajorityInfluenceError_eq
      (m : ) :
      FABL.composedMajorityInfluenceError m =
        1 / 2 *
          FABL.oddMajorityTotalInfluenceError
            m
    The composed-majority error is exactly half the odd-majority error from Chapter 2. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajorityInfluenceError_mem_Icc (m : ) :
      FABL.composedMajorityInfluenceError m 
        Set.Icc 0 (1 / (2 * (2 * m + 1)))
    theorem FABL.composedMajorityInfluenceError_mem_Icc
      (m : ) :
      FABL.composedMajorityInfluenceError m 
        Set.Icc 0 (1 / (2 * (2 * m + 1)))
    The exact nonnegative error interval for composed majority. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.totalInfluence_composedMajority_eq_main_add_error (m : ) :
      FABL.totalInfluence (FABL.composedMajority m).toReal =
        1 + (2 / Real.pi) / 2 * (2 * m + 1) +
          FABL.composedMajorityInfluenceError m
    theorem FABL.totalInfluence_composedMajority_eq_main_add_error
      (m : ) :
      FABL.totalInfluence
          (FABL.composedMajority m).toReal =
        1 +
            (2 / Real.pi) / 2 *
              (2 * m + 1) +
          FABL.composedMajorityInfluenceError
            m
    Exact main-term-plus-error expansion for the actual dimension `2m+3`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.totalInfluence_composedMajority_lower (m : ) :
      1 / 8 * (2 * m + 3) 
        FABL.totalInfluence (FABL.composedMajority m).toReal
    theorem FABL.totalInfluence_composedMajority_lower
      (m : ) :
      1 / 8 * (2 * m + 3) 
        FABL.totalInfluence
          (FABL.composedMajority m).toReal
    Exercise 8.30(c), explicit lower constant in the actual dimension `2m+3`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.totalInfluence_composedMajority_upper (m : ) :
      FABL.totalInfluence (FABL.composedMajority m).toReal 
        2 * (2 * m + 3)
    theorem FABL.totalInfluence_composedMajority_upper
      (m : ) :
      FABL.totalInfluence
          (FABL.composedMajority m).toReal 
        2 * (2 * m + 3)
    Exercise 8.30(c), explicit upper constant in the actual dimension `2m+3`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension :
      (fun m =>
          FABL.totalInfluence
            (FABL.composedMajority m).toReal) =Θ[Filter.atTop]
        fun m => (2 * m + 3)
    theorem FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension :
      (fun m =>
          FABL.totalInfluence
            (FABL.composedMajority
                m).toReal) =Θ[Filter.atTop]
        fun m => (2 * m + 3)
    Exercise 8.30(c) in literal asymptotic notation, with respect to the actual dimension. 
  • defdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    def FABL.composedMajorityArity (m : ) : 
    def FABL.composedMajorityArity (m : ) : 
    The natural arity parameter for the composed-majority sequence. 
  • defdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    def FABL.composedMajorityFamily (m : ) :
      FABL.BooleanFunction (FABL.composedMajorityArity m)
    def FABL.composedMajorityFamily (m : ) :
      FABL.BooleanFunction
        (FABL.composedMajorityArity m)
    The composed-majority sequence as a dependent family. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajorityFamily_monotone (m : ) :
      Monotone (FABL.composedMajorityFamily m)
    theorem FABL.composedMajorityFamily_monotone
      (m : ) :
      Monotone (FABL.composedMajorityFamily m)
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajorityFamily_isNonconstant (m : ) :
      FABL.IsNonconstantCubeFunction (FABL.composedMajorityFamily m)
    theorem FABL.composedMajorityFamily_isNonconstant
      (m : ) :
      FABL.IsNonconstantCubeFunction
        (FABL.composedMajorityFamily m)
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 2)) (m : ) :
      FABL.normalizedThresholdWidth FABL.composedMajorityArity
          FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone
          FABL.composedMajorityFamily_isNonconstant epsilon hepsilon m =
        FABL.thresholdWidth epsilon hepsilon (FABL.composedMajority m)  
    theorem FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth
      (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 2))
      (m : ) :
      FABL.normalizedThresholdWidth
          FABL.composedMajorityArity
          FABL.composedMajorityFamily
          FABL.composedMajorityFamily_monotone
          FABL.composedMajorityFamily_isNonconstant
          epsilon hepsilon m =
        FABL.thresholdWidth epsilon hepsilon
          (FABL.composedMajority m)  
    At the critical probability `1/2`, the normalizing variance scale is exactly one, so
    normalized and unnormalized threshold widths coincide for this family. 
  • defdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    def FABL.composedMajorityThresholdProbe (epsilon : ) : 
    def FABL.composedMajorityThresholdProbe
      (epsilon : ) : 
    A fixed point strictly between `sqrt epsilon` and `1/2`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajorityThresholdProbe_mem_Ioo (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      FABL.composedMajorityThresholdProbe epsilon  Set.Ioo 0 (1 / 2)
    theorem FABL.composedMajorityThresholdProbe_mem_Ioo
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      FABL.composedMajorityThresholdProbe
          epsilon 
        Set.Ioo 0 (1 / 2)
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      1 - FABL.composedMajorityThresholdProbe epsilon  Set.Ioo (1 / 2) 1
    theorem FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      1 -
          FABL.composedMajorityThresholdProbe
            epsilon 
        Set.Ioo (1 / 2) 1
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.epsilon_lt_composedMajorityThresholdProbe_sq (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      epsilon < FABL.composedMajorityThresholdProbe epsilon ^ 2
    theorem FABL.epsilon_lt_composedMajorityThresholdProbe_sq
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      epsilon <
        FABL.composedMajorityThresholdProbe
            epsilon ^
          2
    The lower limiting branch is strictly above `epsilon` at the probe point. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.one_sub_two_mul_composedMajorityThresholdProbe (epsilon : ) :
      1 - 2 * FABL.composedMajorityThresholdProbe epsilon = 1 / 2 - epsilon
    theorem FABL.one_sub_two_mul_composedMajorityThresholdProbe
      (epsilon : ) :
      1 -
          2 *
            FABL.composedMajorityThresholdProbe
              epsilon =
        1 / 2 - epsilon
    The two fixed probes leave the positive normalized-width margin
    `1/2 - sqrt epsilon`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) : epsilon  Set.Ioo 0 (1 / 2)
    theorem FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      epsilon  Set.Ioo 0 (1 / 2)
    The Exercise 8.30 assumption `epsilon < 1/4` supplies the general threshold-width
    hypothesis `epsilon < 1/2`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.eventually_composedMajority_normalizedThresholdWidth_gt
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      ∀ᶠ (m : ) in Filter.atTop,
        1 / 2 - epsilon <
          FABL.normalizedThresholdWidth FABL.composedMajorityArity
            FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone
            FABL.composedMajorityFamily_isNonconstant epsilon  m
    theorem FABL.eventually_composedMajority_normalizedThresholdWidth_gt
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      ∀ᶠ (m : ) in Filter.atTop,
        1 / 2 - epsilon <
          FABL.normalizedThresholdWidth
            FABL.composedMajorityArity
            FABL.composedMajorityFamily
            FABL.composedMajorityFamily_monotone
            FABL.composedMajorityFamily_isNonconstant
            epsilon  m
    Quantitative core of Exercise 8.30(d): eventually the normalized threshold width is
    bounded below by the fixed positive margin `1/2 - sqrt epsilon`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero
      (epsilon : ) (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      ¬Filter.Tendsto
          (FABL.normalizedThresholdWidth FABL.composedMajorityArity
            FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone
            FABL.composedMajorityFamily_isNonconstant epsilon )
          Filter.atTop (nhds 0)
    theorem FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      ¬Filter.Tendsto
          (FABL.normalizedThresholdWidth
            FABL.composedMajorityArity
            FABL.composedMajorityFamily
            FABL.composedMajorityFamily_monotone
            FABL.composedMajorityFamily_isNonconstant
            epsilon )
          Filter.atTop (nhds 0)
    The normalized threshold widths do not converge to zero for any fixed
    `epsilon ∈ (0, 1/4)`. 
  • theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.lean
    complete
    theorem FABL.composedMajority_hasCoarseThreshold (epsilon : )
      (hepsilon : epsilon  Set.Ioo 0 (1 / 4)) :
      FABL.HasCoarseThreshold FABL.composedMajorityArity
        FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone
        FABL.composedMajorityFamily_isNonconstant epsilon 
    theorem FABL.composedMajority_hasCoarseThreshold
      (epsilon : )
      (hepsilon :
        epsilon  Set.Ioo 0 (1 / 4)) :
      FABL.HasCoarseThreshold
        FABL.composedMajorityArity
        FABL.composedMajorityFamily
        FABL.composedMajorityFamily_monotone
        FABL.composedMajorityFamily_isNonconstant
        epsilon 
    Exercise 8.30(d): despite total influence of order `sqrt n`, the composed-majority
    sequence has a coarse threshold for every fixed `epsilon < 1/4`. 
Lemma8.7.31
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.31. Define \nu_n on \mathbb F_2^n equivalently by: uniformly choosing a Hamming weight and then a string of that weight; choosing a uniform maximal path and a uniform point on it; or choosing p uniformly from [0,1] and then sampling from \pi_p^{\otimes n}. Prove the three laws agree and that nonempty marginals satisfy x_J\sim\nu_J. Define \operatorname{Shap}_i[f] =\mathbb E_{x\sim\nu_n} [f(x^{i\mapsto1})-f(x^{i\mapsto0})]. Prove \sum_i\operatorname{Shap}_i[f] =f(1,\ldots,1)-f(0,\ldots,0), and, for monotone f:\mathbb F_2^n\to\{0,1\}, identify the continuous marginal-contribution mixture \operatorname{Shap}_i[f] =\int_0^1 \frac{\operatorname{Inf}_i[f^{(p)}]}{p(1-p)}\,dp, where the integrand at the endpoints is represented by its continuous marginal-contribution extension. The printed formula 4\int_0^1\operatorname{Inf}_i[f^{(p)}],dp is false: for a dictator it equals 2/3 while the Shapley value is 1.

Lean code for Lemma8.7.3126 declarations
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.shapleySubsetPMF (n : ) : PMF (Finset (Fin n))
    def FABL.shapleySubsetPMF (n : ) :
      PMF (Finset (Fin n))
    Exercise 8.31(a), first construction: choose a cardinality uniformly and then a subset
    uniformly from that cardinality layer. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.shapleyF₂PMF (n : ) : PMF (FABL.F₂Cube n)
    def FABL.shapleyF₂PMF (n : ) :
      PMF (FABL.F₂Cube n)
    Exercise 8.31's `nu_n` transported to the book's `F_2^n` representation. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.shapleySubsetPMF_apply_toReal {n : } (S : Finset (Fin n)) :
      ((FABL.shapleySubsetPMF n) S).toReal =
        1 / ((n + 1) * (n.choose S.card))
    theorem FABL.shapleySubsetPMF_apply_toReal {n : }
      (S : Finset (Fin n)) :
      ((FABL.shapleySubsetPMF n) S).toReal =
        1 / ((n + 1) * (n.choose S.card))
    Real-valued point-mass formula. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.shapleyExpectation {n : } (f : Finset (Fin n)  ) : 
    def FABL.shapleyExpectation {n : }
      (f : Finset (Fin n)  ) : 
    Expectation under `nu_n`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.shapleyExpectation_eq_uniform_cardinality_then_subset {n : }
      (f : Finset (Fin n)  ) :
      FABL.shapleyExpectation f =
        FABL.pmfExpectation (PMF.uniformOfFintype (Fin (n + 1))) fun k =>
          FABL.pmfExpectation
            (PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) ) f
    theorem FABL.shapleyExpectation_eq_uniform_cardinality_then_subset
      {n : } (f : Finset (Fin n)  ) :
      FABL.shapleyExpectation f =
        FABL.pmfExpectation
          (PMF.uniformOfFintype (Fin (n + 1)))
          fun k =>
          FABL.pmfExpectation
            (PMF.uniformOfFinset
              (Finset.powersetCard (↑k)
                Finset.univ)
              )
            f
    The first construction in Exercise 8.31 is literally the uniform mixture of uniform
    Hamming layers. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.shapleyValue {n : } (f : Finset (Fin n)  ) (i : Fin n) : 
    def FABL.shapleyValue {n : }
      (f : Finset (Fin n)  ) (i : Fin n) : 
    Exercise 8.31(c): the Shapley value in the book's `nu_n` form. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.shapleyValue_eq_sum_pointIndicators {n : }
      (f : Finset (Fin n)  ) (i : Fin n) :
      FABL.shapleyValue f i =
         A, f A * FABL.shapleyValue (FABL.subsetPointIndicator A) i
    theorem FABL.shapleyValue_eq_sum_pointIndicators
      {n : } (f : Finset (Fin n)  )
      (i : Fin n) :
      FABL.shapleyValue f i =
         A,
          f A *
            FABL.shapleyValue
              (FABL.subsetPointIndicator A) i
    Shapley value expanded in the point-indicator basis. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.sum_shapleyValue {n : } (f : Finset (Fin n)  ) :
       i, FABL.shapleyValue f i = f Finset.univ - f 
    theorem FABL.sum_shapleyValue {n : }
      (f : Finset (Fin n)  ) :
       i, FABL.shapleyValue f i =
        f Finset.univ - f 
    Exercise 8.31(c): Shapley values telescope to the difference of endpoint values. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight (n k : )
      (hk : k  n) :
       (p : ) in 0..1, p ^ k * (1 - p) ^ (n - k) =
        FABL.shapleyLayerWeight n k
    theorem FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight
      (n k : ) (hk : k  n) :
       (p : ) in 0..1,
          p ^ k * (1 - p) ^ (n - k) =
        FABL.shapleyLayerWeight n k
    Beta integral in the exact Shapley-layer normalization. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.bernoulliSubsetExpectation {n : } (p : )
      (f : Finset (Fin n)  ) : 
    def FABL.bernoulliSubsetExpectation {n : }
      (p : ) (f : Finset (Fin n)  ) : 
    Product-Bernoulli expectation on the Boolean lattice. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation {n : }
      (f : Finset (Fin n)  ) :
       (p : ) in 0..1, FABL.bernoulliSubsetExpectation p f =
        FABL.shapleyExpectation f
    theorem FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation
      {n : } (f : Finset (Fin n)  ) :
       (p : ) in 0..1,
          FABL.bernoulliSubsetExpectation p
            f =
        FABL.shapleyExpectation f
    Exercise 8.31(a), third construction: uniformly mixing the product-Bernoulli laws over
    `p ∈ [0,1]` gives exactly `nu_n`. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.bernoulliMarginalContribution {n : } (p : )
      (f : Finset (Fin n)  ) (i : Fin n) : 
    def FABL.bernoulliMarginalContribution {n : }
      (p : ) (f : Finset (Fin n)  )
      (i : Fin n) : 
    Mean marginal contribution of coordinate `i` under the product-Bernoulli law. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.shapleyValue_eq_integral_bernoulliMarginalContribution {n : }
      (f : Finset (Fin n)  ) (i : Fin n) :
      FABL.shapleyValue f i =
         (p : ) in 0..1, FABL.bernoulliMarginalContribution p f i
    theorem FABL.shapleyValue_eq_integral_bernoulliMarginalContribution
      {n : } (f : Finset (Fin n)  )
      (i : Fin n) :
      FABL.shapleyValue f i =
         (p : ) in 0..1,
          FABL.bernoulliMarginalContribution p
            f i
    Exercise 8.31, correct integral identity before influence normalization. 
  • defdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    def FABL.bernoulliSubsetInfluence {n : } (p : ) (f : Finset (Fin n)  )
      (i : Fin n) : 
    def FABL.bernoulliSubsetInfluence {n : }
      (p : ) (f : Finset (Fin n)  )
      (i : Fin n) : 
    Biased coordinate influence for a real set function. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.bernoulliMarginalContribution_eq_influence_div {n : } (p : )
      (hp : p  Set.Ioo 0 1) (f : Finset (Fin n)  )
      (hf : FABL.IsMonotoneSubsetFunction f)
      (hrange : FABL.HasZeroOneRange f) (i : Fin n) :
      FABL.bernoulliMarginalContribution p f i =
        FABL.bernoulliSubsetInfluence p f i / (p * (1 - p))
    theorem FABL.bernoulliMarginalContribution_eq_influence_div
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : Finset (Fin n)  )
      (hf : FABL.IsMonotoneSubsetFunction f)
      (hrange : FABL.HasZeroOneRange f)
      (i : Fin n) :
      FABL.bernoulliMarginalContribution p f
          i =
        FABL.bernoulliSubsetInfluence p f i /
          (p * (1 - p))
    Corrected Exercise 8.31(d), pointwise normalization on the open interval. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.shapleyValue_eq_integral_normalizedInfluence {n : }
      (f : Finset (Fin n)  ) (_hf : FABL.IsMonotoneSubsetFunction f)
      (_hrange : FABL.HasZeroOneRange f) (i : Fin n) :
      FABL.shapleyValue f i =
         (p : ) in 0..1, FABL.bernoulliMarginalContribution p f i
    theorem FABL.shapleyValue_eq_integral_normalizedInfluence
      {n : } (f : Finset (Fin n)  )
      (_hf : FABL.IsMonotoneSubsetFunction f)
      (_hrange : FABL.HasZeroOneRange f)
      (i : Fin n) :
      FABL.shapleyValue f i =
         (p : ) in 0..1,
          FABL.bernoulliMarginalContribution p
            f i
    Corrected integral form of Exercise 8.31(d): the integrand is influence divided by
    `p(1-p)`, not four times influence. The endpoint values are supplied by the continuous
    marginal-contribution polynomial. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.lean
    complete
    theorem FABL.printed_shapley_four_integral_formula_false :
      FABL.shapleyValue FABL.shapleyDictator 0 
        4 *
           (p : ) in 0..1,
            FABL.bernoulliSubsetInfluence p FABL.shapleyDictator 0
    theorem FABL.printed_shapley_four_integral_formula_false :
      FABL.shapleyValue FABL.shapleyDictator
          0 
        4 *
           (p : ) in 0..1,
            FABL.bernoulliSubsetInfluence p
              FABL.shapleyDictator 0
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.maximalPathPrefix {n : } (pi : Equiv.Perm (Fin n))
      (k : Fin (n + 1)) : Finset (Fin n)
    def FABL.maximalPathPrefix {n : }
      (pi : Equiv.Perm (Fin n))
      (k : Fin (n + 1)) : Finset (Fin n)
    The `k`th vertex on the maximal path encoded by a permutation. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.maximalPathLayerPMF {n : } (k : Fin (n + 1)) :
      PMF (Finset (Fin n))
    def FABL.maximalPathLayerPMF {n : }
      (k : Fin (n + 1)) : PMF (Finset (Fin n))
    At a fixed layer, a uniformly random permutation induces a PMF on path vertices. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.uniformMaximalPathPointPMF (n : ) : PMF (Finset (Fin n))
    def FABL.uniformMaximalPathPointPMF (n : ) :
      PMF (Finset (Fin n))
    Uniform random maximal path followed by a uniform random path index. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.maximalPathLayerPMF_eq_uniformLayer {n : } (k : Fin (n + 1)) :
      FABL.maximalPathLayerPMF k =
        PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) 
    theorem FABL.maximalPathLayerPMF_eq_uniformLayer
      {n : } (k : Fin (n + 1)) :
      FABL.maximalPathLayerPMF k =
        PMF.uniformOfFinset
          (Finset.powersetCard (↑k)
            Finset.univ)
          
    At fixed `k`, the uniform maximal-path point is uniform on the `k`th layer. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF (n : ) :
      FABL.uniformMaximalPathPointPMF n = FABL.shapleySubsetPMF n
    theorem FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF
      (n : ) :
      FABL.uniformMaximalPathPointPMF n =
        FABL.shapleySubsetPMF n
    Exercise 8.31(a), second construction: a uniform maximal path and uniform point on it
    produce exactly `nu_n`. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.shapleySubsetPMFOn {n : } (J : Finset (Fin n)) : PMF (Finset J)
    def FABL.shapleySubsetPMFOn {n : }
      (J : Finset (Fin n)) : PMF (Finset J)
    Transport `nu_|J|` from `Fin |J|` to the abstract coordinate type `J`. 
  • defdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    def FABL.shapleySubsetMarginalPMF {n : } (J : Finset (Fin n)) :
      PMF (Finset J)
    def FABL.shapleySubsetMarginalPMF {n : }
      (J : Finset (Fin n)) : PMF (Finset J)
    The `J`-coordinate marginal of ambient `nu_n`. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn {n : }
      (J : Finset (Fin n)) :
      FABL.shapleySubsetMarginalPMF J = FABL.shapleySubsetPMFOn J
    theorem FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn
      {n : } (J : Finset (Fin n)) :
      FABL.shapleySubsetMarginalPMF J =
        FABL.shapleySubsetPMFOn J
    Exercise 8.31(b): every coordinate marginal of `nu_n` is the corresponding abstract
    Shapley law. 
  • theoremdefined in FABL/Chapter08/BiasedThresholdComplements.lean
    complete
    theorem FABL.shapleySubsetMarginal_reindex_eq {n : } (J : Finset (Fin n)) :
      PMF.map (⇑J.equivFin.finsetCongr) (FABL.shapleySubsetMarginalPMF J) =
        FABL.shapleySubsetPMF J.card
    theorem FABL.shapleySubsetMarginal_reindex_eq
      {n : } (J : Finset (Fin n)) :
      PMF.map (⇑J.equivFin.finsetCongr)
          (FABL.shapleySubsetMarginalPMF J) =
        FABL.shapleySubsetPMF J.card
    Explicit reindexing of the abstract marginal back to `Fin |J|`. 
Lemma8.7.32
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.32. Extend Sections 8.1 and 8.2 to complex-valued functions with Hermitian inner product. Prove \mathbb E[f]=\widehat f(0), \quad \mathbb E[|f|^2]=\sum_\alpha|\widehat f(\alpha)|^2, \quad \operatorname{Var}[f]=\sum_{\alpha\ne0}|\widehat f(\alpha)|^2, \langle f,g\rangle =\sum_\alpha\widehat f(\alpha)\overline{\widehat g(\alpha)}, \quad \operatorname{Cov}[f,g] =\sum_{\alpha\ne0} \widehat f(\alpha)\overline{\widehat g(\alpha)}.

Lean code for Lemma8.7.3214 declarations
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.pmfComplexInner.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (f g : Ω  ) : 
    def FABL.pmfComplexInner.{u_1} {Ω : Type u_1}
      [Fintype Ω] (p : PMF Ω) (f g : Ω  ) :
      
    The complex `L²` inner product for a finite probability mass function. 
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.pmfComplexMean.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (f : Ω  ) : 
    def FABL.pmfComplexMean.{u_1} {Ω : Type u_1}
      [Fintype Ω] (p : PMF Ω) (f : Ω  ) : 
    Expectation under a finite probability mass function. 
  • structure(6 fields)defined in FABL/Chapter08/AbelianGroups.lean
    complete
    structure FABL.ComplexFourierSystem.{u_1, u_2} (Ω : Type u_1) (ι : Type u_2)
      [Fintype Ω] [Fintype ι] [DecidableEq ι] : Type (max u_1 u_2)
    structure FABL.ComplexFourierSystem.{u_1, u_2}
      (Ω : Type u_1) (ι : Type u_2)
      [Fintype Ω] [Fintype ι]
      [DecidableEq ι] : Type (max u_1 u_2)
    A finite complex Fourier system: a full-support law, an orthonormal basis, and a distinguished
    constant basis vector.  Taking `Ω` to be a finite product and `p` its product law gives exactly the
    setting of Exercise 8.32. 
    law : PMF Ω
    Probability law on the finite space. 
    fullSupport :  (x : Ω), self.law x  0
    The book assumes full support. 
    basis : Module.Basis ι  (Ω  )
    Chosen Fourier basis. 
    zeroIndex : ι
    Index of the constant basis vector. 
    basis_zero : self.basis self.zeroIndex = 1
    The distinguished vector is the constant-one function. 
    orthonormal :  (i j : ι), FABL.pmfComplexInner self.law (self.basis i) (self.basis j) = if i = j then 1 else 0
    Orthonormality for the probability-weighted inner product. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.expansion.{u_1, u_2} {Ω : Type u_1}
      {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f : Ω  ) (x : Ω) :
      f x =  i, F.coeff f i * F.basis i x
    theorem FABL.ComplexFourierSystem.expansion.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f : Ω  ) (x : Ω) :
      f x =  i, F.coeff f i * F.basis i x
    Fourier expansion for a finite complex Fourier system. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.coeff_eq_inner.{u_1, u_2} {Ω : Type u_1}
      {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f : Ω  ) (i : ι) :
      F.coeff f i = FABL.pmfComplexInner F.law (F.basis i) f
    theorem FABL.ComplexFourierSystem.coeff_eq_inner.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f : Ω  ) (i : ι) :
      F.coeff f i =
        FABL.pmfComplexInner F.law (F.basis i)
          f
    Exercise 8.32: the algebraic basis coordinates are the weighted inner products with the
    basis vectors. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.plancherel.{u_1, u_2} {Ω : Type u_1}
      {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω  ) :
      FABL.pmfComplexInner F.law f g =
         i, (starRingEnd ) (F.coeff f i) * F.coeff g i
    theorem FABL.ComplexFourierSystem.plancherel.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f g : Ω  ) :
      FABL.pmfComplexInner F.law f g =
         i,
          (starRingEnd ) (F.coeff f i) *
            F.coeff g i
    Exercise 8.32, Plancherel in full finite-probability generality. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.parseval.{u_1, u_2} {Ω : Type u_1}
      {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f : Ω  ) :
      FABL.pmfComplexInner F.law f f =
         i, (starRingEnd ) (F.coeff f i) * F.coeff f i
    theorem FABL.ComplexFourierSystem.parseval.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f : Ω  ) :
      FABL.pmfComplexInner F.law f f =
         i,
          (starRingEnd ) (F.coeff f i) *
            F.coeff f i
    Exercise 8.32, Parseval/second moment in full finite-probability generality. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.mean_eq_coeff_zero.{u_1, u_2} {Ω : Type u_1}
      {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f : Ω  ) :
      F.mean f = F.coeff f F.zeroIndex
    theorem FABL.ComplexFourierSystem.mean_eq_coeff_zero.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f : Ω  ) :
      F.mean f = F.coeff f F.zeroIndex
    Exercise 8.32: the mean is the coefficient of the constant basis vector. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.covariance_eq_sum_coeff.{u_1, u_2}
      {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω  ) :
      F.covariance f g =
         i with i  F.zeroIndex,
          (starRingEnd ) (F.coeff f i) * F.coeff g i
    theorem FABL.ComplexFourierSystem.covariance_eq_sum_coeff.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f g : Ω  ) :
      F.covariance f g =
         i with i  F.zeroIndex,
          (starRingEnd ) (F.coeff f i) *
            F.coeff g i
    Exercise 8.32: covariance is the nonconstant part of the coefficient inner product. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.ComplexFourierSystem.variance_eq_sum_coeff.{u_1, u_2}
      {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι) (f : Ω  ) :
      F.variance f =
         i with i  F.zeroIndex,
          (starRingEnd ) (F.coeff f i) * F.coeff f i
    theorem FABL.ComplexFourierSystem.variance_eq_sum_coeff.{u_1,
        u_2}
      {Ω : Type u_1} {ι : Type u_2}
      [Fintype Ω] [Fintype ι] [DecidableEq ι]
      (F : FABL.ComplexFourierSystem Ω ι)
      (f : Ω  ) :
      F.variance f =
         i with i  F.zeroIndex,
          (starRingEnd ) (F.coeff f i) *
            F.coeff f i
    Exercise 8.32: variance is the sum of squared magnitudes of nonconstant coefficients. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.abelian_plancherel.{u_1} {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g : G  ) :
      FABL.complexUniformInner f g =
         χ,
          (starRingEnd ) (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff g χ
    theorem FABL.abelian_plancherel.{u_1}
      {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g : G  ) :
      FABL.complexUniformInner f g =
         χ,
          (starRingEnd )
              (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff g χ
    Exercise 8.32, Plancherel: the complex inner product is the coefficient-space inner
    product, with conjugation in the first coefficient. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.abelian_parseval.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G]
      (f : G  ) :
      FABL.complexUniformInner f f =
         χ,
          (starRingEnd ) (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff f χ
    theorem FABL.abelian_parseval.{u_1} {G : Type u_1}
      [AddCommGroup G] [Fintype G]
      (f : G  ) :
      FABL.complexUniformInner f f =
         χ,
          (starRingEnd )
              (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff f χ
    Exercise 8.32, Parseval and the complex second-moment identity. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.complexCovariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1}
      [AddCommGroup G] [Fintype G] (f g : G  ) :
      FABL.complexCovariance f g =
         χ with χ  0,
          (starRingEnd ) (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff g χ
    theorem FABL.complexCovariance_eq_sum_fourierCoeff.{u_1}
      {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g : G  ) :
      FABL.complexCovariance f g =
         χ with χ  0,
          (starRingEnd )
              (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff g χ
    Exercise 8.32: covariance is the nontrivial part of the coefficient inner product. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.complexVariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1}
      [AddCommGroup G] [Fintype G] (f : G  ) :
      FABL.complexVariance f =
         χ with χ  0,
          (starRingEnd ) (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff f χ
    theorem FABL.complexVariance_eq_sum_fourierCoeff.{u_1}
      {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f : G  ) :
      FABL.complexVariance f =
         χ with χ  0,
          (starRingEnd )
              (FABL.abelianFourierCoeff f χ) *
            FABL.abelianFourierCoeff f χ
    Exercise 8.32: variance is the sum of squared magnitudes of nontrivial coefficients. 
Lemma8.7.33
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 8.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.33. Let V be a real inner-product space and f,g:\Omega^n\to V. Define vector-valued Fourier coefficients and prove \langle f,g\rangle =\sum_\alpha \langle\widehat f(\alpha),\widehat g(\alpha)\rangle_V. Embed a finite alphabet \Sigma in its probability simplex. For f:\Omega^n\to\Sigma, prove that the resulting vector-valued noise stability is \operatorname{Stab}_\rho[f] =\Pr[f(x)=f(y)].

Lean code for Lemma8.7.3314 declarations
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.pmfVectorExpectation.{u_1, u_2} {Ξ : Type u_1} {V : Type u_2}
      [Fintype Ξ] [NormedAddCommGroup V] [NormedSpace  V] (μ : PMF Ξ)
      (f : Ξ  V) : V
    def FABL.pmfVectorExpectation.{u_1, u_2}
      {Ξ : Type u_1} {V : Type u_2}
      [Fintype Ξ] [NormedAddCommGroup V]
      [NormedSpace  V] (μ : PMF Ξ)
      (f : Ξ  V) : V
    Expectation of a vector-valued function under a finite PMF. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.FiniteFourierBasis.vectorFourierCoeff.{u_1, u_2, u_3}
      {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V] [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : (Fin n  Ω)  V)
      (a : FABL.MultiIndex n ι) : V
    def FABL.FiniteFourierBasis.vectorFourierCoeff.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : (Fin n  Ω)  V)
      (a : FABL.MultiIndex n ι) : V
    Vector-valued Fourier coefficient on a product basis. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.FiniteFourierBasis.vector_fourier_expansion.{u_1, u_2, u_3}
      {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V] [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (f : (Fin n  Ω)  V)
      (x : Fin n  Ω) :
      f x =  a, B.productFunction a x  B.vectorFourierCoeff f a
    theorem FABL.FiniteFourierBasis.vector_fourier_expansion.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f : (Fin n  Ω)  V)
      (x : Fin n  Ω) :
      f x =
         a,
          B.productFunction a x 
            B.vectorFourierCoeff f a
    Vector-valued product Fourier expansion. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.productVectorInner.{u_1, u_2} {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [NormedAddCommGroup V] [InnerProductSpace  V] (π : PMF Ω)
      {n : } (f g : (Fin n  Ω)  V) : 
    def FABL.productVectorInner.{u_1, u_2}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [NormedAddCommGroup V]
      [InnerProductSpace  V] (π : PMF Ω)
      {n : } (f g : (Fin n  Ω)  V) : 
    Product inner product of two vector-valued functions. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.FiniteFourierBasis.vector_parseval.{u_1, u_2, u_3} {Ω : Type u_1}
      {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω} {ι : Type u_3} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f g : (Fin n  Ω)  V) :
      FABL.productVectorInner π f g =
         a, inner  (B.vectorFourierCoeff f a) (B.vectorFourierCoeff g a)
    theorem FABL.FiniteFourierBasis.vector_parseval.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (f g : (Fin n  Ω)  V) :
      FABL.productVectorInner π f g =
         a,
          inner  (B.vectorFourierCoeff f a)
            (B.vectorFourierCoeff g a)
    Exercise 8.33, vector-valued Parseval identity. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.vectorProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [NormedAddCommGroup V] [NormedSpace  V] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  V) :
      (Fin n  Ω)  V
    def FABL.vectorProductNoiseOperator.{u_1, u_2}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [NormedAddCommGroup V]
      [NormedSpace  V] (π : PMF Ω) {n : }
      (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  V) : (Fin n  Ω)  V
    Conditional expectation of a vector-valued function under product noise. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V] [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  V)
      (a : FABL.MultiIndex n ι) :
      B.vectorFourierCoeff (FABL.vectorProductNoiseOperator π ρ  f) a =
        ρ ^ FABL.multiIndexOrder B.zeroIndex a  B.vectorFourierCoeff f a
    theorem FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  V)
      (a : FABL.MultiIndex n ι) :
      B.vectorFourierCoeff
          (FABL.vectorProductNoiseOperator π ρ
             f)
          a =
        ρ ^
            FABL.multiIndexOrder B.zeroIndex
              a 
          B.vectorFourierCoeff f a
    Vector Fourier coefficients diagonalize the vector-valued noise operator. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.productVectorNoiseStability.{u_1, u_2} {Ω : Type u_1}
      {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V]
      [InnerProductSpace  V] (π : PMF Ω) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  V) : 
    def FABL.productVectorNoiseStability.{u_1,
        u_2}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [NormedAddCommGroup V]
      [InnerProductSpace  V] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  V) : 
    Vector-valued noise stability under the product law. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum.{u_1, u_2,
        u_3}
      {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V] [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  V) :
      FABL.productVectorNoiseStability π ρ  f =
         a,
          ρ ^ FABL.multiIndexOrder B.zeroIndex a *
            B.vectorFourierCoeff f a ^ 2
    theorem FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {V : Type u_2}
      [Fintype Ω] [Nonempty Ω]
      [NormedAddCommGroup V]
      [InnerProductSpace  V] {π : PMF Ω}
      {ι : Type u_3} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  V) :
      FABL.productVectorNoiseStability π ρ 
          f =
         a,
          ρ ^
              FABL.multiIndexOrder B.zeroIndex
                a *
            B.vectorFourierCoeff f a ^ 2
    Spectral formula for vector-valued product noise stability. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.probabilitySimplexEmbedding.{u_1} (β : Type u_1) [Fintype β]
      [DecidableEq β] (σ : β) : EuclideanSpace  β
    def FABL.probabilitySimplexEmbedding.{u_1}
      (β : Type u_1) [Fintype β]
      [DecidableEq β] (σ : β) :
      EuclideanSpace  β
    The standard probability-simplex embedding of a finite alphabet. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.productNoiseAgreementProbability.{u_1, u_2} {Ω : Type u_1}
      {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  β) : 
    def FABL.productNoiseAgreementProbability.{u_1,
        u_2}
      {Ω : Type u_1} {β : Type u_2}
      [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) : 
    Conditional probability that two outputs agree under product noise. 
  • defdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    def FABL.simplexVectorNoiseStability.{u_1, u_2} {Ω : Type u_1}
      {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω)
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1) (f : (Fin n  Ω)  β) : 
    def FABL.simplexVectorNoiseStability.{u_1,
        u_2}
      {Ω : Type u_1} {β : Type u_2}
      [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) : 
    Vector-valued noise stability of the simplex embedding. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability.{u_1,
        u_2}
      {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) :
      FABL.simplexVectorNoiseStability π ρ  f =
        FABL.productVectorNoiseStability π ρ  fun x =>
          FABL.probabilitySimplexEmbedding β (f x)
    theorem FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability.{u_1,
        u_2}
      {Ω : Type u_1} {β : Type u_2}
      [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) :
      FABL.simplexVectorNoiseStability π ρ 
          f =
        FABL.productVectorNoiseStability π ρ
           fun x =>
          FABL.probabilitySimplexEmbedding β
            (f x)
    The conditional simplex stability is the generic vector-valued product noise stability. 
  • theoremdefined in FABL/Chapter08/VectorValuedFourier.lean
    complete
    theorem FABL.simplexVectorNoiseStability_eq_agreementProbability.{u_1, u_2}
      {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) :
      FABL.simplexVectorNoiseStability π ρ  f =
        FABL.productNoiseAgreementProbability π ρ  f
    theorem FABL.simplexVectorNoiseStability_eq_agreementProbability.{u_1,
        u_2}
      {Ω : Type u_1} {β : Type u_2}
      [Fintype Ω] [Fintype β] [DecidableEq β]
      (π : PMF Ω) {n : } (ρ : )
      ( : ρ  Set.Icc 0 1)
      (f : (Fin n  Ω)  β) :
      FABL.simplexVectorNoiseStability π ρ 
          f =
        FABL.productNoiseAgreementProbability
          π ρ  f
    Exercise 8.33: simplex-valued vector noise stability is exactly agreement probability. 
Lemma8.7.34
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 5.5.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.34. Define a linear threshold function on a general product space as f=\operatorname{sgn}(\ell) with \deg(\ell)\le1. Given two independent samples \omega^{(+1)},\omega^{(-1)}\sim\pi^{\otimes n}, prove that x\mapsto f(\omega^{(x)}) is an ordinary binary LTF.

The printed coupling assertion with the same correlation parameter on both sides is false under Definition 8.26. A binary pair of correlation \theta uses the same selected sample with probability (1+\theta)/2, so the corrected product retention parameter is (1+\theta)/2, not \theta. Already for one uniform Boolean coordinate at \theta=0, the printed selector has agreement probability 3/4 whereas the product pair at retention zero has agreement probability 1/2. After formalizing the corrected coupling bridge, derive the corresponding reparameterized Peres bound; the intended qualitative conclusion is \operatorname{NS}_\delta[f]\le O(\sqrt\delta), \qquad 0<\delta\le\frac12, with a constant independent of n,f,\Omega,\pi. The corrected formal statement gives the explicit constant \sqrt{3/2} on this range and, by a universal probability bound, the uniform estimate \operatorname{NS}_\delta[f]\le\sqrt2\sqrt\delta for the full interval 0\le\delta\le1.

Lean code for Lemma8.7.3427 declarations
  • defdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    def FABL.IsProductLinearThreshold.{u_1} {n : } {Ω : Type u_1} [Fintype Ω]
      (f : (Fin n  Ω)  FABL.Sign) : Prop
    def FABL.IsProductLinearThreshold.{u_1}
      {n : } {Ω : Type u_1} [Fintype Ω]
      (f : (Fin n  Ω)  FABL.Sign) : Prop
    An additive degree-one threshold representation on a finite product space. 
  • defdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    def FABL.selectProductInput.{u_1} {n : } {Ω : Type u_1}
      (plus minus : Fin n  Ω) (x : FABL.SignCube n) : Fin n  Ω
    def FABL.selectProductInput.{u_1} {n : }
      {Ω : Type u_1} (plus minus : Fin n  Ω)
      (x : FABL.SignCube n) : Fin n  Ω
    Select coordinate `i` from the plus or minus sample according to a sign string. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    theorem FABL.selectedScore_eq_midpoint_add_difference.{u_1} {Ω : Type u_1}
      (a : Ω  ) (plus minus : Ω) (x : FABL.Sign) :
      a (if x = 1 then plus else minus) =
        (a plus + a minus) / 2 + (a plus - a minus) / 2 * FABL.signValue x
    theorem FABL.selectedScore_eq_midpoint_add_difference.{u_1}
      {Ω : Type u_1} (a : Ω  )
      (plus minus : Ω) (x : FABL.Sign) :
      a (if x = 1 then plus else minus) =
        (a plus + a minus) / 2 +
          (a plus - a minus) / 2 *
            FABL.signValue x
    A one-coordinate score selected from two fixed values is affine in the selecting sign. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    theorem FABL.isLinearThreshold_selectProductInput.{u_1} {n : } {Ω : Type u_1}
      [Fintype Ω] (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f) (plus minus : Fin n  Ω) :
      FABL.IsLinearThreshold fun x =>
        f (FABL.selectProductInput plus minus x)
    theorem FABL.isLinearThreshold_selectProductInput.{u_1}
      {n : } {Ω : Type u_1} [Fintype Ω]
      (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f)
      (plus minus : Fin n  Ω) :
      FABL.IsLinearThreshold fun x =>
        f
          (FABL.selectProductInput plus minus
            x)
    Exercise 8.34(b): fixing the two product samples turns a product-space LTF into an ordinary
    binary linear threshold function. 
  • defdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    def FABL.printedSelectorAgreementAtZero : 
    def FABL.printedSelectorAgreementAtZero : 
    Agreement probability produced by the printed selector construction at binary correlation
    zero, using two independent uniform Boolean samples. 
  • defdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    def FABL.productBoolAgreementAtZero : 
    def FABL.productBoolAgreementAtZero : 
    The actual agreement probability for Definition 8.26 at product correlation zero. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoise.lean
    complete
    theorem FABL.printed_product_selector_coupling_false :
      FABL.printedSelectorAgreementAtZero  FABL.productBoolAgreementAtZero
    theorem FABL.printed_product_selector_coupling_false :
      FABL.printedSelectorAgreementAtZero 
        FABL.productBoolAgreementAtZero
    Exercise 8.34(a), as printed with the same correlation parameter on both sides, is false:
    already at `rho = 0` its selector construction has agreement probability `3/4`, whereas the
    Definition 8.26 product pair has agreement probability `1/2`. 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.selectorRetention (θ : ) : 
    def FABL.selectorRetention (θ : ) : 
    Product retention corresponding to binary sign correlation `θ`. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.selectorRetention_mem_Icc {θ : } ( : θ  Set.Icc (-1) 1) :
      FABL.selectorRetention θ  Set.Icc 0 1
    theorem FABL.selectorRetention_mem_Icc {θ : }
      ( : θ  Set.Icc (-1) 1) :
      FABL.selectorRetention θ  Set.Icc 0 1
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.retentionCorrelation (ρ : ) : 
    def FABL.retentionCorrelation (ρ : ) : 
    Inverse conversion from product retention to binary correlation. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.retentionCorrelation_mem_Icc {ρ : } ( : ρ  Set.Icc 0 1) :
      FABL.retentionCorrelation ρ  Set.Icc (-1) 1
    theorem FABL.retentionCorrelation_mem_Icc {ρ : }
      ( : ρ  Set.Icc 0 1) :
      FABL.retentionCorrelation ρ 
        Set.Icc (-1) 1
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.selectorCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) (θ : ) ( : θ  Set.Icc (-1) 1) : PMF (Ω × Ω)
    def FABL.selectorCoordinatePairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (θ : ) ( : θ  Set.Icc (-1) 1) :
      PMF (Ω × Ω)
    One-coordinate selector-pair experiment: draw two independent `π` samples and use a
    `θ`-correlated pair of signs to select from them. 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.productRetentionCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) (ρ : ) ( : ρ  Set.Icc 0 1) : PMF (Ω × Ω)
    def FABL.productRetentionCoordinatePairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (ρ : ) ( : ρ  Set.Icc 0 1) :
      PMF (Ω × Ω)
    One-coordinate joint law of a stationary `π` sample and its Definition 8.26 noisy copy. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.selectorCoordinatePairPMF_eq_productRetention.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (θ : ) ( : θ  Set.Icc (-1) 1) :
      FABL.selectorCoordinatePairPMF π θ  =
        FABL.productRetentionCoordinatePairPMF π (FABL.selectorRetention θ)
          
    theorem FABL.selectorCoordinatePairPMF_eq_productRetention.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (θ : ) ( : θ  Set.Icc (-1) 1) :
      FABL.selectorCoordinatePairPMF π θ  =
        FABL.productRetentionCoordinatePairPMF
          π (FABL.selectorRetention θ) 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.productSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : ) ( : θ  Set.Icc (-1) 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    def FABL.productSelectorPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    Complete selector-pair law: every coordinate independently draws its two `π` samples and
    its `θ`-correlated selector pair, then the selected coordinate pairs are reassembled as two
    strings. 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.productRetentionPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    def FABL.productRetentionPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    Complete Definition 8.26 stationary pair law. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productRetentionPairPMF_eq_coordinateProduct.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      FABL.productRetentionPairPMF π n ρ  =
        PMF.map (⇑(FABL.productPairCoordinatesEquiv Ω n).symm)
          (FABL.productProbabilityPMF
            (FABL.productRetentionCoordinatePairPMF π ρ ) n)
    theorem FABL.productRetentionPairPMF_eq_coordinateProduct.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      FABL.productRetentionPairPMF π n ρ  =
        PMF.map
          (⇑(FABL.productPairCoordinatesEquiv
                Ω n).symm)
          (FABL.productProbabilityPMF
            (FABL.productRetentionCoordinatePairPMF
              π ρ )
            n)
    The standard conditional-kernel pair law is the independent product of its one-coordinate
    joint laws. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productSelectorPairPMF_eq_productRetention.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (n : ) (θ : ) ( : θ  Set.Icc (-1) 1) :
      FABL.productSelectorPairPMF π n θ  =
        FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) 
    theorem FABL.productSelectorPairPMF_eq_productRetention.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      FABL.productSelectorPairPMF π n θ  =
        FABL.productRetentionPairPMF π n
          (FABL.selectorRetention θ) 
    Corrected Exercise 8.34(a): equality of the complete selector and Definition 8.26 PMF
    laws at `ρ = (1 + θ) / 2`. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productSelectorPairPMF_retentionCorrelation.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      FABL.productSelectorPairPMF π n (FABL.retentionCorrelation ρ)  =
        FABL.productRetentionPairPMF π n ρ 
    theorem FABL.productSelectorPairPMF_retentionCorrelation.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (ρ : ) ( : ρ  Set.Icc 0 1) :
      FABL.productSelectorPairPMF π n
          (FABL.retentionCorrelation ρ)  =
        FABL.productRetentionPairPMF π n ρ 
    Reverse parameterization: a product-retention parameter `ρ` is obtained from binary
    correlation `θ = 2ρ - 1`. 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.literalProductSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) (n : ) (θ : ) ( : θ  Set.Icc (-1) 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    def FABL.literalProductSelectorPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      PMF ((Fin n  Ω) × (Fin n  Ω))
    Literal two-sample selector law on a pair of strings. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      FABL.literalProductSelectorPairPMF π n θ  =
        FABL.productSelectorPairPMF π n θ 
    theorem FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      FABL.literalProductSelectorPairPMF π n θ
           =
        FABL.productSelectorPairPMF π n θ 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.literalProductSelectorPairPMF_eq_productRetention.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      FABL.literalProductSelectorPairPMF π n θ  =
        FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) 
    theorem FABL.literalProductSelectorPairPMF_eq_productRetention.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      (n : ) (θ : )
      ( : θ  Set.Icc (-1) 1) :
      FABL.literalProductSelectorPairPMF π n θ
           =
        FABL.productRetentionPairPMF π n
          (FABL.selectorRetention θ) 
    The corrected complete law in the literal notation of Exercise 8.34(a). 
  • defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    def FABL.productResamplingNoiseSensitivity.{u_1} {Ω : Type u_1} [Fintype Ω]
      (π : PMF Ω) {n : } (δ : ) ( : δ  Set.Icc 0 1)
      (f : (Fin n  Ω)  FABL.Sign) : 
    def FABL.productResamplingNoiseSensitivity.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (δ : ) ( : δ  Set.Icc 0 1)
      (f : (Fin n  Ω)  FABL.Sign) : 
    Product-space noise sensitivity at resampling rate `δ`, i.e. retention `1-δ`. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productResamplingNoiseSensitivity_le_peres.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f) (δ : ) (hδpos : 0 < δ)
      (hδhalf : δ  1 / 2) :
      FABL.productResamplingNoiseSensitivity π δ  f  (3 / 2) * δ
    theorem FABL.productResamplingNoiseSensitivity_le_peres.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f)
      (δ : ) (hδpos : 0 < δ)
      (hδhalf : δ  1 / 2) :
      FABL.productResamplingNoiseSensitivity π
          δ  f 
        (3 / 2) * δ
    Reparameterized Exercise 8.34(c): for `0 < δ ≤ 1/2`, the ordinary binary Peres theorem
    gives the same explicit constant for product-resampling noise. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productResamplingNoiseSensitivity_zero.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (f : (Fin n  Ω)  FABL.Sign) :
      FABL.productResamplingNoiseSensitivity π 0
          FABL.productResamplingNoiseSensitivity_zero._proof_1 f =
        0
    theorem FABL.productResamplingNoiseSensitivity_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : (Fin n  Ω)  FABL.Sign) :
      FABL.productResamplingNoiseSensitivity π
          0
          FABL.productResamplingNoiseSensitivity_zero._proof_1
          f =
        0
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f) (δ : )
      ( : δ  Set.Ioc 0 1) :
      FABL.productResamplingNoiseSensitivity π δ  f  2 * δ
    theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f)
      (δ : ) ( : δ  Set.Ioc 0 1) :
      FABL.productResamplingNoiseSensitivity π
          δ  f 
        2 * δ
    The corrected result on the full positive resampling interval.  Peres gives the sharper
    `√(3/2)` constant through `δ=1/2`; the elementary probability bound extends the same
    `O(√δ)` order to `1/2 < δ ≤ 1` with universal constant `√2`. 
  • theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.lean
    complete
    theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two_full.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : }
      (f : (Fin n  Ω)  FABL.Sign) (hf : FABL.IsProductLinearThreshold f)
      (δ : ) ( : δ  Set.Icc 0 1) :
      FABL.productResamplingNoiseSensitivity π δ  f  2 * δ
    theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two_full.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : (Fin n  Ω)  FABL.Sign)
      (hf : FABL.IsProductLinearThreshold f)
      (δ : ) ( : δ  Set.Icc 0 1) :
      FABL.productResamplingNoiseSensitivity π
          δ  f 
        2 * δ
    Full closed-interval form, including the noiseless endpoint. 
Lemma8.7.35
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 8.5.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.35. If G\cong\mathbb Z_{m_1}\times\cdots\times\mathbb Z_{m_n}, define \chi_\alpha(x) =\prod_{j=1}^n\exp(2\pi i\alpha_jx_j/m_j). Prove these characters are distinct, form a Fourier basis of L^2(G), and under pointwise multiplication form the dual group \widehat G\cong G.

Lean code for Lemma8.7.354 definitions
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.circleCharacterMulEquiv.{u_1} (G : Type u_1) [AddCommGroup G]
      [Finite G] : AddChar G Circle ≃* Multiplicative G
    def FABL.circleCharacterMulEquiv.{u_1}
      (G : Type u_1) [AddCommGroup G]
      [Finite G] :
      AddChar G Circle ≃* Multiplicative G
    Mathlib's finite-abelian classification and roots-of-unity theorem identify the circle-valued
    character group with the original group.  This is the classification step in Exercise 8.35. 
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.circleCharacterAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G]
      [Finite G] : AddChar G Circle ≃+ G
    def FABL.circleCharacterAddEquiv.{u_1}
      (G : Type u_1) [AddCommGroup G]
      [Finite G] : AddChar G Circle ≃+ G
    Exercise 8.35(b): the circle-valued dual group is noncanonically additively isomorphic to
    `G`; addition of `AddChar`s is pointwise multiplication. 
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.abelianDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G]
      [Finite G] : FABL.AbelianDual G ≃+ G
    def FABL.abelianDualAddEquiv.{u_1}
      (G : Type u_1) [AddCommGroup G]
      [Finite G] : FABL.AbelianDual G ≃+ G
    Exercise 8.35(b): the complex character group `Ĝ` is noncanonically isomorphic to `G`.
    Mathlib supplies the classification theorem; no finite-abelian classification is repeated here. 
  • defdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    def FABL.abelianDoubleDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G]
      [Finite G] : G ≃+ FABL.AbelianDual (FABL.AbelianDual G)
    def FABL.abelianDoubleDualAddEquiv.{u_1}
      (G : Type u_1) [AddCommGroup G]
      [Finite G] :
      G ≃+
        FABL.AbelianDual (FABL.AbelianDual G)
    The canonical finite Pontryagin double-dual equivalence. 
Lemma8.7.36
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.5.9
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.36. Prove that normalized convolution on a finite abelian group is associative and commutative, and prove the convolution identity \widehat{f*g}(\alpha)=\widehat f(\alpha)\widehat g(\alpha).

Lean code for Lemma8.7.362 theorems
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.abelianConvolution_comm.{u_1} {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g : G  ) :
      FABL.abelianConvolution f g = FABL.abelianConvolution g f
    theorem FABL.abelianConvolution_comm.{u_1}
      {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g : G  ) :
      FABL.abelianConvolution f g =
        FABL.abelianConvolution g f
    Exercise 8.36: normalized convolution is commutative. 
  • theoremdefined in FABL/Chapter08/AbelianGroups.lean
    complete
    theorem FABL.abelianConvolution_assoc.{u_1} {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g h : G  ) :
      FABL.abelianConvolution (FABL.abelianConvolution f g) h =
        FABL.abelianConvolution f (FABL.abelianConvolution g h)
    theorem FABL.abelianConvolution_assoc.{u_1}
      {G : Type u_1} [AddCommGroup G]
      [Fintype G] (f g h : G  ) :
      FABL.abelianConvolution
          (FABL.abelianConvolution f g) h =
        FABL.abelianConvolution f
          (FABL.abelianConvolution g h)
    Exercise 8.36: normalized convolution is associative. 
Lemma8.7.37
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.37. If f is transitive-symmetric, symmetrize every randomized tree computing it to obtain T' with \Delta^{(\pi)}(T')=\Delta^{(\pi)}(T), \qquad \delta_i^{(\pi)}(T')=\Delta^{(\pi)}(f)/n. Define revealment by \delta^{(\pi)}(T)=\max_i\delta_i^{(\pi)}(T) and minimize over trees computing f. Prove for transitive-symmetric f \delta^{(\pi)}(f)=\Delta^{(\pi)}(f)/n.

Lean code for Lemma8.7.3731 declarations
  • defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    def FABL.RandomizedDecisionTree.revealment.{u_1, u_2} {Ω : Type u_1}
      {α : Type u_2} {n : } {f : (Fin n  Ω)  α} [Fintype Ω]
      (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) : 
    def FABL.RandomizedDecisionTree.revealment.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      {f : (Fin n  Ω)  α} [Fintype Ω]
      (T :
        FABL.RandomizedDecisionTree Ω α n f)
      (π : PMF Ω) : 
    Maximum coordinate revealment of a randomized tree. 
  • defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    def FABL.RandomizedDecisionTree.HasEqualQueryProbabilities.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} {n : } {f : (Fin n  Ω)  α}
      [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) :
      Prop
    def FABL.RandomizedDecisionTree.HasEqualQueryProbabilities.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      {f : (Fin n  Ω)  α} [Fintype Ω]
      (T :
        FABL.RandomizedDecisionTree Ω α n f)
      (π : PMF Ω) : Prop
    A randomized tree has equal query probabilities in all coordinates. 
  • theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    theorem FABL.RandomizedDecisionTree.revealment_eq_averageCost_div.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} {n : } {f : (Fin n  Ω)  α}
      [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω)
      (hn : 0 < n) (hequal : T.HasEqualQueryProbabilities π) :
      T.revealment π = T.averageCost π / n
    theorem FABL.RandomizedDecisionTree.revealment_eq_averageCost_div.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      {f : (Fin n  Ω)  α} [Fintype Ω]
      (T :
        FABL.RandomizedDecisionTree Ω α n f)
      (π : PMF Ω) (hn : 0 < n)
      (hequal :
        T.HasEqualQueryProbabilities π) :
      T.revealment π = T.averageCost π / n
    Exercise 8.37(b): when all coordinate query probabilities are equal, revealment is
    `Δ(T)/n`. 
  • defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    def FABL.RandomizedDecisionTree.functionRevealment.{u_1, u_2} {Ω : Type u_1}
      {α : Type u_2} {n : } [Fintype Ω] (π : PMF Ω) (f : (Fin n  Ω)  α) :
      
    def FABL.RandomizedDecisionTree.functionRevealment.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      [Fintype Ω] (π : PMF Ω)
      (f : (Fin n  Ω)  α) : 
    Exercise 8.37(b): minimum maximum-coordinate revealment. 
  • defdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    def FABL.FiniteDecisionTree.permuteCoordinatesAux.{u_1, u_2} {Ω : Type u_1}
      {α : Type u_2} {n : } {available : Finset (Fin n)}
      (σ : Equiv.Perm (Fin n)) :
      FABL.FiniteDecisionTree Ω α n available 
        FABL.FiniteDecisionTree Ω α n
          (Finset.map (Equiv.toEmbedding σ) available)
    def FABL.FiniteDecisionTree.permuteCoordinatesAux.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      {available : Finset (Fin n)}
      (σ : Equiv.Perm (Fin n)) :
      FABL.FiniteDecisionTree Ω α n
          available 
        FABL.FiniteDecisionTree Ω α n
          (Finset.map (Equiv.toEmbedding σ)
            available)
    Relabel every query coordinate by `σ`; the available-coordinate index is relabeled in the
    same way. 
  • defdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    def FABL.FiniteDecisionTree.permuteCoordinates.{u_1, u_2} {Ω : Type u_1}
      {α : Type u_2} {n : } (σ : Equiv.Perm (Fin n))
      (T : FABL.FiniteAlphabetDecisionTree Ω α n) :
      FABL.FiniteAlphabetDecisionTree Ω α n
    def FABL.FiniteDecisionTree.permuteCoordinates.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      (σ : Equiv.Perm (Fin n))
      (T :
        FABL.FiniteAlphabetDecisionTree Ω α
          n) :
      FABL.FiniteAlphabetDecisionTree Ω α n
    Relabel a complete finite decision tree by a coordinate permutation. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.FiniteDecisionTree.queries_permuteCoordinates_iff.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} {n : } (σ : Equiv.Perm (Fin n))
      (T : FABL.FiniteAlphabetDecisionTree Ω α n) (i : Fin n)
      (x : Fin n  Ω) :
      FABL.FiniteDecisionTree.Queries
          (FABL.FiniteDecisionTree.permuteCoordinates σ T) i x 
        FABL.FiniteDecisionTree.Queries T ((Equiv.symm σ) i) fun j =>
          x (σ j)
    theorem FABL.FiniteDecisionTree.queries_permuteCoordinates_iff.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      (σ : Equiv.Perm (Fin n))
      (T :
        FABL.FiniteAlphabetDecisionTree Ω α n)
      (i : Fin n) (x : Fin n  Ω) :
      FABL.FiniteDecisionTree.Queries
          (FABL.FiniteDecisionTree.permuteCoordinates
            σ T)
          i x 
        FABL.FiniteDecisionTree.Queries T
          ((Equiv.symm σ) i) fun j => x (σ j)
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.FiniteDecisionTree.computes_permuteCoordinates {n : }
      (σ : Equiv.Perm (Fin n)) (f : FABL.BooleanFunction n)
      ( :  (x : FABL.SignCube n), f (FABL.permuteInput σ x) = f x)
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n)
      (hT : FABL.FiniteDecisionTree.Computes T f) :
      FABL.FiniteDecisionTree.Computes
        (FABL.FiniteDecisionTree.permuteCoordinates σ T) f
    theorem FABL.FiniteDecisionTree.computes_permuteCoordinates
      {n : } (σ : Equiv.Perm (Fin n))
      (f : FABL.BooleanFunction n)
      ( :
         (x : FABL.SignCube n),
          f (FABL.permuteInput σ x) = f x)
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign n)
      (hT :
        FABL.FiniteDecisionTree.Computes T
          f) :
      FABL.FiniteDecisionTree.Computes
        (FABL.FiniteDecisionTree.permuteCoordinates
          σ T)
        f
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : } (π : PMF Ω)
      (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n)
      (i : Fin n) :
      FABL.FiniteDecisionTree.deterministicQueryProbability π
          (FABL.FiniteDecisionTree.permuteCoordinates σ T) i =
        FABL.FiniteDecisionTree.deterministicQueryProbability π T
          ((Equiv.symm σ) i)
    theorem FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : } (π : PMF Ω)
      (σ : Equiv.Perm (Fin n))
      (T :
        FABL.FiniteAlphabetDecisionTree Ω α n)
      (i : Fin n) :
      FABL.FiniteDecisionTree.deterministicQueryProbability
          π
          (FABL.FiniteDecisionTree.permuteCoordinates
            σ T)
          i =
        FABL.FiniteDecisionTree.deterministicQueryProbability
          π T ((Equiv.symm σ) i)
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : } (π : PMF Ω)
      (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) :
      FABL.RandomizedDecisionTree.deterministicAverageCost π
          (FABL.FiniteDecisionTree.permuteCoordinates σ T) =
        FABL.RandomizedDecisionTree.deterministicAverageCost π T
    theorem FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : } (π : PMF Ω)
      (σ : Equiv.Perm (Fin n))
      (T :
        FABL.FiniteAlphabetDecisionTree Ω α
          n) :
      FABL.RandomizedDecisionTree.deterministicAverageCost
          π
          (FABL.FiniteDecisionTree.permuteCoordinates
            σ T) =
        FABL.RandomizedDecisionTree.deterministicAverageCost
          π T
  • defdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    def FABL.booleanFunctionSymmetryGroup {n : } (f : FABL.BooleanFunction n) :
      Subgroup (Equiv.Perm (Fin n))
    def FABL.booleanFunctionSymmetryGroup {n : }
      (f : FABL.BooleanFunction n) :
      Subgroup (Equiv.Perm (Fin n))
    Coordinate permutations preserving a Boolean function. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.exists_booleanFunctionSymmetry_apply_eq {n : }
      (f : FABL.BooleanFunction n) (hf : FABL.IsTransitiveSymmetric f)
      (i j : Fin n) :  σ, σ i = j
    theorem FABL.exists_booleanFunctionSymmetry_apply_eq
      {n : } (f : FABL.BooleanFunction n)
      (hf : FABL.IsTransitiveSymmetric f)
      (i j : Fin n) :  σ, σ i = j
  • defdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    def FABL.RandomizedDecisionTree.symmetrizedSeedLaw {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) :
      PMF ((FABL.booleanFunctionSymmetryGroup f) × T.Seed)
    def FABL.RandomizedDecisionTree.symmetrizedSeedLaw
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f) :
      PMF
        ((FABL.booleanFunctionSymmetryGroup
              f) ×
          T.Seed)
    Add an independent uniform symmetry seed to an existing randomized tree seed. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (g : (FABL.booleanFunctionSymmetryGroup f) × T.Seed  ) :
      FABL.pmfExpectation T.symmetrizedSeedLaw g =
        FABL.pmfExpectation
          (FABL.uniformPMF (FABL.booleanFunctionSymmetryGroup f)) fun σ =>
          FABL.pmfExpectation T.seedLaw fun seed => g (σ, seed)
    theorem FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (g :
        (FABL.booleanFunctionSymmetryGroup
                f) ×
            T.Seed 
          ) :
      FABL.pmfExpectation T.symmetrizedSeedLaw
          g =
        FABL.pmfExpectation
          (FABL.uniformPMF
            (FABL.booleanFunctionSymmetryGroup
                f))
          fun σ =>
          FABL.pmfExpectation T.seedLaw
            fun seed => g (σ, seed)
  • defdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    def FABL.RandomizedDecisionTree.symmetrization {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) :
      FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f
    def FABL.RandomizedDecisionTree.symmetrization
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f) :
      FABL.RandomizedDecisionTree FABL.Sign
        FABL.Sign n f
    Exercise 8.37's symmetrized randomized tree.  Its seed records both a uniform symmetry and
    the original tree seed. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α} (T : FABL.RandomizedDecisionTree Ω α n g)
      (π : PMF Ω) (i : Fin n) :
      T.queryProbability π i =
        FABL.pmfExpectation T.seedLaw fun seed =>
          FABL.FiniteDecisionTree.deterministicQueryProbability π
            (T.tree seed) i
    theorem FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α}
      (T :
        FABL.RandomizedDecisionTree Ω α n g)
      (π : PMF Ω) (i : Fin n) :
      T.queryProbability π i =
        FABL.pmfExpectation T.seedLaw
          fun seed =>
          FABL.FiniteDecisionTree.deterministicQueryProbability
            π (T.tree seed) i
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetrization_averageCost {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) : T.symmetrization.averageCost π = T.averageCost π
    theorem FABL.RandomizedDecisionTree.symmetrization_averageCost
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign) :
      T.symmetrization.averageCost π =
        T.averageCost π
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) (i : Fin n) :
      T.symmetrization.queryProbability π i =
        FABL.pmfExpectation
          (FABL.uniformPMF (FABL.booleanFunctionSymmetryGroup f)) fun σ =>
          T.queryProbability π ((Equiv.symm σ) i)
    theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign) (i : Fin n) :
      T.symmetrization.queryProbability π i =
        FABL.pmfExpectation
          (FABL.uniformPMF
            (FABL.booleanFunctionSymmetryGroup
                f))
          fun σ =>
          T.queryProbability π
            ((Equiv.symm σ) i)
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq {n : }
      {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f)
      (i j : Fin n) :
      (FABL.pmfExpectation
          (FABL.uniformPMF (FABL.booleanFunctionSymmetryGroup f)) fun σ =>
          T.queryProbability π ((Equiv.symm σ) i)) =
        FABL.pmfExpectation
          (FABL.uniformPMF (FABL.booleanFunctionSymmetryGroup f)) fun σ =>
          T.queryProbability π ((Equiv.symm σ) j)
    theorem FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign)
      (hf : FABL.IsTransitiveSymmetric f)
      (i j : Fin n) :
      (FABL.pmfExpectation
          (FABL.uniformPMF
            (FABL.booleanFunctionSymmetryGroup
                f))
          fun σ =>
          T.queryProbability π
            ((Equiv.symm σ) i)) =
        FABL.pmfExpectation
          (FABL.uniformPMF
            (FABL.booleanFunctionSymmetryGroup
                f))
          fun σ =>
          T.queryProbability π
            ((Equiv.symm σ) j)
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities
      {n : } {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) :
      T.symmetrization.HasEqualQueryProbabilities π
    theorem FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign)
      (hf : FABL.IsTransitiveSymmetric f) :
      T.symmetrization.HasEqualQueryProbabilities
        π
    The symmetrized tree has equal coordinate query probabilities. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div
      {n : } {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n)
      (i : Fin n) :
      T.symmetrization.queryProbability π i = T.averageCost π / n
    theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign)
      (hf : FABL.IsTransitiveSymmetric f)
      (hn : 0 < n) (i : Fin n) :
      T.symmetrization.queryProbability π i =
        T.averageCost π / n
    Every coordinate of the symmetrized tree is queried with probability equal to the original
    average cost divided by the dimension. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div
      {n : } {f : FABL.BooleanFunction n}
      (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f)
      (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n) :
      T.symmetrization.revealment π = T.averageCost π / n
    theorem FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div
      {n : } {f : FABL.BooleanFunction n}
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n f)
      (π : PMF FABL.Sign)
      (hf : FABL.IsTransitiveSymmetric f)
      (hn : 0 < n) :
      T.symmetrization.revealment π =
        T.averageCost π / n
    The symmetrized tree preserves average cost and has revealment equal to that cost divided by
    the dimension. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.revealment_nonneg.{u_1, u_2} {Ω : Type u_1}
      {α : Type u_2} [Fintype Ω] {n : } {g : (Fin n  Ω)  α}
      (T : FABL.RandomizedDecisionTree Ω α n g) (π : PMF Ω) :
      0  T.revealment π
    theorem FABL.RandomizedDecisionTree.revealment_nonneg.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α}
      (T :
        FABL.RandomizedDecisionTree Ω α n g)
      (π : PMF Ω) : 0  T.revealment π
    Revealment is nonnegative, including in dimension zero. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.averageCost_zero_dimension.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0  Ω)  α}
      (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) :
      T.averageCost π = 0
    theorem FABL.RandomizedDecisionTree.averageCost_zero_dimension.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {g : (Fin 0  Ω)  α}
      (T :
        FABL.RandomizedDecisionTree Ω α 0 g)
      (π : PMF Ω) : T.averageCost π = 0
    With no coordinates, every randomized tree has zero average cost. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.revealment_zero_dimension.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0  Ω)  α}
      (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) :
      T.revealment π = 0
    theorem FABL.RandomizedDecisionTree.revealment_zero_dimension.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {g : (Fin 0  Ω)  α}
      (T :
        FABL.RandomizedDecisionTree Ω α 0 g)
      (π : PMF Ω) : T.revealment π = 0
    With no coordinates, maximum coordinate revealment is definitionally zero. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.averageComplexity_le_averageCost.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α} (π : PMF Ω)
      (T : FABL.RandomizedDecisionTree Ω α n g) :
      FABL.RandomizedDecisionTree.averageComplexity π g  T.averageCost π
    theorem FABL.RandomizedDecisionTree.averageComplexity_le_averageCost.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α} (π : PMF Ω)
      (T :
        FABL.RandomizedDecisionTree Ω α n g) :
      FABL.RandomizedDecisionTree.averageComplexity
          π g 
        T.averageCost π
    Minimum average complexity is bounded above by the cost of every computing randomized tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.functionRevealment_le_revealment.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α} (π : PMF Ω)
      (T : FABL.RandomizedDecisionTree Ω α n g) :
      FABL.RandomizedDecisionTree.functionRevealment π g  T.revealment π
    theorem FABL.RandomizedDecisionTree.functionRevealment_le_revealment.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : }
      {g : (Fin n  Ω)  α} (π : PMF Ω)
      (T :
        FABL.RandomizedDecisionTree Ω α n g) :
      FABL.RandomizedDecisionTree.functionRevealment
          π g 
        T.revealment π
    Minimum function revealment is bounded above by the revealment of every computing randomized
    tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.functionRevealment_nonneg.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : } (π : PMF Ω)
      (g : (Fin n  Ω)  α) :
      0  FABL.RandomizedDecisionTree.functionRevealment π g
    theorem FABL.RandomizedDecisionTree.functionRevealment_nonneg.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] {n : } (π : PMF Ω)
      (g : (Fin n  Ω)  α) :
      0 
        FABL.RandomizedDecisionTree.functionRevealment
          π g
    Minimum function revealment is nonnegative. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.averageComplexity_zero_dimension.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω)
      (g : (Fin 0  Ω)  α) :
      FABL.RandomizedDecisionTree.averageComplexity π g = 0
    theorem FABL.RandomizedDecisionTree.averageComplexity_zero_dimension.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] (π : PMF Ω)
      (g : (Fin 0  Ω)  α) :
      FABL.RandomizedDecisionTree.averageComplexity
          π g =
        0
    The minimum average complexity is zero in dimension zero. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.functionRevealment_zero_dimension.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω)
      (g : (Fin 0  Ω)  α) :
      FABL.RandomizedDecisionTree.functionRevealment π g = 0
    theorem FABL.RandomizedDecisionTree.functionRevealment_zero_dimension.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2}
      [Fintype Ω] (π : PMF Ω)
      (g : (Fin 0  Ω)  α) :
      FABL.RandomizedDecisionTree.functionRevealment
          π g =
        0
    The minimum revealment is zero in dimension zero. 
  • theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.lean
    complete
    theorem FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div
      {n : } (π : PMF FABL.Sign) (f : FABL.BooleanFunction n)
      (hf : FABL.IsTransitiveSymmetric f) :
      FABL.RandomizedDecisionTree.functionRevealment π f =
        FABL.RandomizedDecisionTree.averageComplexity π f / n
    theorem FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div
      {n : } (π : PMF FABL.Sign)
      (f : FABL.BooleanFunction n)
      (hf : FABL.IsTransitiveSymmetric f) :
      FABL.RandomizedDecisionTree.functionRevealment
          π f =
        FABL.RandomizedDecisionTree.averageComplexity
            π f /
          n
    Exercise 8.37: for a transitive-symmetric Boolean function under an identical-marginal
    product input law, minimum revealment is minimum average complexity divided by the dimension.
    Both quantities are zero when `n = 0`, so the displayed identity remains honest at the boundary. 
Lemma8.7.38
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.38. Prove for recursive majority \operatorname{DT}(\operatorname{Maj}_3^{\otimes d})=3^d, \quad \operatorname{RDT}(\operatorname{Maj}_3^{\otimes d})\le(8/3)^d, \quad \Delta(\operatorname{Maj}_3^{\otimes d})\le(5/2)^d. Also construct a randomized tree proving \operatorname{RDT}(\operatorname{Maj}_3^{\otimes2})<(8/3)^2.

Lean code for Lemma8.7.3895 declarations
  • defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    def FABL.recursiveMajorityRandomizedCostBound (d : ) : 
    def FABL.recursiveMajorityRandomizedCostBound
      (d : ) : 
    The product recurrence for the randomized `Maj₃` worst-case upper bound. 
  • defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    def FABL.recursiveMajorityAverageCostBound (d : ) : 
    def FABL.recursiveMajorityAverageCostBound
      (d : ) : 
    The product recurrence for the uniform-average `Maj₃` upper bound. 
  • theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    theorem FABL.recursiveMajorityRandomizedCostBound_succ (d : ) :
      FABL.recursiveMajorityRandomizedCostBound (d + 1) =
        8 / 3 * FABL.recursiveMajorityRandomizedCostBound d
    theorem FABL.recursiveMajorityRandomizedCostBound_succ
      (d : ) :
      FABL.recursiveMajorityRandomizedCostBound
          (d + 1) =
        8 / 3 *
          FABL.recursiveMajorityRandomizedCostBound
            d
  • theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    theorem FABL.recursiveMajorityAverageCostBound_succ (d : ) :
      FABL.recursiveMajorityAverageCostBound (d + 1) =
        5 / 2 * FABL.recursiveMajorityAverageCostBound d
    theorem FABL.recursiveMajorityAverageCostBound_succ
      (d : ) :
      FABL.recursiveMajorityAverageCostBound
          (d + 1) =
        5 / 2 *
          FABL.recursiveMajorityAverageCostBound
            d
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeBlockEmbedding (d : ) (i : Fin 3) :
      Fin (3 ^ d)  Fin (3 ^ (d + 1))
    def FABL.recursiveMajorityThreeBlockEmbedding
      (d : ) (i : Fin 3) :
      Fin (3 ^ d)  Fin (3 ^ (d + 1))
    The `i`th ternary block inside a depth-`d+1` formula. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeBlockCoordinates (d : ) (i : Fin 3) :
      Finset (Fin (3 ^ (d + 1)))
    def FABL.recursiveMajorityThreeBlockCoordinates
      (d : ) (i : Fin 3) :
      Finset (Fin (3 ^ (d + 1)))
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeBlockCoordinates_disjoint (d : )
      {i j : Fin 3} (hij : i  j) :
      Disjoint (FABL.recursiveMajorityThreeBlockCoordinates d i)
        (FABL.recursiveMajorityThreeBlockCoordinates d j)
    theorem FABL.recursiveMajorityThreeBlockCoordinates_disjoint
      (d : ) {i j : Fin 3} (hij : i  j) :
      Disjoint
        (FABL.recursiveMajorityThreeBlockCoordinates
          d i)
        (FABL.recursiveMajorityThreeBlockCoordinates
          d j)
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeBlockCoordinates_union (d : ) :
      FABL.recursiveMajorityThreeBlockCoordinates d 0 
            FABL.recursiveMajorityThreeBlockCoordinates d 1 
          FABL.recursiveMajorityThreeBlockCoordinates d 2 =
        Finset.univ
    theorem FABL.recursiveMajorityThreeBlockCoordinates_union
      (d : ) :
      FABL.recursiveMajorityThreeBlockCoordinates
              d 0 
            FABL.recursiveMajorityThreeBlockCoordinates
              d 1 
          FABL.recursiveMajorityThreeBlockCoordinates
            d 2 =
        Finset.univ
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreePairValue (first second third : FABL.Sign) : FABL.Sign
    def FABL.majorityThreePairValue
      (first second third : FABL.Sign) :
      FABL.Sign
    Majority of three signs in the pair-first evaluation form. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreePairValue_eq_majority
      (first second third : FABL.Sign) :
      FABL.majorityThreePairValue first second third =
        FABL.majority 3 fun i =>
          if i = 0 then first else if i = 1 then second else third
    theorem FABL.majorityThreePairValue_eq_majority
      (first second third : FABL.Sign) :
      FABL.majorityThreePairValue first second
          third =
        FABL.majority 3 fun i =>
          if i = 0 then first
          else if i = 1 then second else third
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreePairValue_swap_second_third
      (first second third : FABL.Sign) :
      FABL.majorityThreePairValue first third second =
        FABL.majority 3 fun i =>
          if i = 0 then first else if i = 1 then second else third
    theorem FABL.majorityThreePairValue_swap_second_third
      (first second third : FABL.Sign) :
      FABL.majorityThreePairValue first third
          second =
        FABL.majority 3 fun i =>
          if i = 0 then first
          else if i = 1 then second else third
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreePairValue_rotate (first second third : FABL.Sign) :
      FABL.majorityThreePairValue second third first =
        FABL.majority 3 fun i =>
          if i = 0 then first else if i = 1 then second else third
    theorem FABL.majorityThreePairValue_rotate
      (first second third : FABL.Sign) :
      FABL.majorityThreePairValue second third
          first =
        FABL.majority 3 fun i =>
          if i = 0 then first
          else if i = 1 then second else third
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreePairValue_permutation (first second third : Fin 3)
      (h12 : first  second) (h13 : first  third) (h23 : second  third)
      (value : Fin 3  FABL.Sign) :
      FABL.majorityThreePairValue (value first) (value second)
          (value third) =
        FABL.majority 3 value
    theorem FABL.majorityThreePairValue_permutation
      (first second third : Fin 3)
      (h12 : first  second)
      (h13 : first  third)
      (h23 : second  third)
      (value : Fin 3  FABL.Sign) :
      FABL.majorityThreePairValue
          (value first) (value second)
          (value third) =
        FABL.majority 3 value
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeContinuationTree {n : } {C : Finset (Fin n)}
      (first second : FABL.Sign)
      (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C
    def FABL.majorityThreeContinuationTree {n : }
      {C : Finset (Fin n)}
      (first second : FABL.Sign)
      (third :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n C) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign n C
    After two block values are known, stop if they agree and otherwise evaluate the third. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_majorityThreeContinuationTree {n : }
      {C : Finset (Fin n)} (first second : FABL.Sign)
      (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C)
      (x : FABL.SignCube n) :
      (FABL.majorityThreeContinuationTree first second third).queryCount x =
        if first = second then 0 else third.queryCount x
    theorem FABL.queryCount_majorityThreeContinuationTree
      {n : } {C : Finset (Fin n)}
      (first second : FABL.Sign)
      (third :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n C)
      (x : FABL.SignCube n) :
      (FABL.majorityThreeContinuationTree
              first second third).queryCount
          x =
        if first = second then 0
        else third.queryCount x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.orderedMajorityThreeTree {n : } {A B C : Finset (Fin n)}
      (hABC : Disjoint A (B  C)) (hBC : Disjoint B C)
      (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A)
      (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B)
      (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (A  (B  C))
    def FABL.orderedMajorityThreeTree {n : }
      {A B C : Finset (Fin n)}
      (hABC : Disjoint A (B  C))
      (hBC : Disjoint B C)
      (first :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n A)
      (second :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B)
      (third :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n C) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign n (A  (B  C))
    Evaluate three disjoint block trees in a specified order, stopping after two equal
    outputs. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_orderedMajorityThreeTree {n : }
      {A B C : Finset (Fin n)} (hABC : Disjoint A (B  C))
      (hBC : Disjoint B C)
      (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A)
      (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B)
      (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C)
      (x : FABL.SignCube n) :
      (FABL.orderedMajorityThreeTree hABC hBC first second third).queryCount
          x =
        first.queryCount x + second.queryCount x +
          if first.eval x = second.eval x then 0 else third.queryCount x
    theorem FABL.queryCount_orderedMajorityThreeTree
      {n : } {A B C : Finset (Fin n)}
      (hABC : Disjoint A (B  C))
      (hBC : Disjoint B C)
      (first :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n A)
      (second :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B)
      (third :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n C)
      (x : FABL.SignCube n) :
      (FABL.orderedMajorityThreeTree hABC hBC
              first second third).queryCount
          x =
        first.queryCount x +
            second.queryCount x +
          if first.eval x = second.eval x then
            0
          else third.queryCount x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeTreeInBlock (d : ) (i : Fin 3)
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign (3 ^ (d + 1))
        (FABL.recursiveMajorityThreeBlockCoordinates d i)
    def FABL.recursiveMajorityThreeTreeInBlock
      (d : ) (i : Fin 3)
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign (3 ^ d)) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign (3 ^ (d + 1))
        (FABL.recursiveMajorityThreeBlockCoordinates
          d i)
    Reindex a recursive child tree into ternary block `i`. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_recursiveMajorityThreeTreeInBlock (d : ) (i : Fin 3)
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d))
      (x : FABL.SignCube (3 ^ (d + 1))) :
      (FABL.recursiveMajorityThreeTreeInBlock d i T).queryCount x =
        FABL.FiniteDecisionTree.queryCount T (FABL.recursiveInputBlock x i)
    theorem FABL.queryCount_recursiveMajorityThreeTreeInBlock
      (d : ) (i : Fin 3)
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign (3 ^ d))
      (x : FABL.SignCube (3 ^ (d + 1))) :
      (FABL.recursiveMajorityThreeTreeInBlock
              d i T).queryCount
          x =
        FABL.FiniteDecisionTree.queryCount T
          (FABL.recursiveInputBlock x i)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeTree (d : ) :
      FABL.RecursiveMajorityThreeSeed d 
        FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)
    def FABL.recursiveMajorityThreeTree (d : ) :
      FABL.RecursiveMajorityThreeSeed d 
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign (3 ^ d)
    Deterministic tree selected by a complete recursive seed. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeTree_computes (d : )
      (seed : FABL.RecursiveMajorityThreeSeed d) :
      FABL.FiniteDecisionTree.Computes
        (FABL.recursiveMajorityThreeTree d seed)
        (FABL.recursiveMajority 3 d)
    theorem FABL.recursiveMajorityThreeTree_computes
      (d : )
      (seed :
        FABL.RecursiveMajorityThreeSeed d) :
      FABL.FiniteDecisionTree.Computes
        (FABL.recursiveMajorityThreeTree d
          seed)
        (FABL.recursiveMajority 3 d)
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_recursiveMajorityThreeTree_succ (d : ) (order : Fin 3)
      (seed0 seed1 seed2 : FABL.RecursiveMajorityThreeSeed d)
      (x : FABL.SignCube (3 ^ (d + 1))) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.recursiveMajorityThreeTree (d + 1)
            (order, seed0, seed1, seed2))
          x =
        if order = 0 then
          FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree d seed0)
                (FABL.recursiveInputBlock x 0) +
              FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree d seed1)
                (FABL.recursiveInputBlock x 1) +
            if
                FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) =
                  FABL.recursiveMajority 3 d
                    (FABL.recursiveInputBlock x 1) then
              0
            else
              FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree d seed2)
                (FABL.recursiveInputBlock x 2)
        else
          if order = 1 then
            FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed0)
                  (FABL.recursiveInputBlock x 0) +
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed2)
                  (FABL.recursiveInputBlock x 2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 0) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 2) then
                0
              else
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed1)
                  (FABL.recursiveInputBlock x 1)
          else
            FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed1)
                  (FABL.recursiveInputBlock x 1) +
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed2)
                  (FABL.recursiveInputBlock x 2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 1) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 2) then
                0
              else
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree d seed0)
                  (FABL.recursiveInputBlock x 0)
    theorem FABL.queryCount_recursiveMajorityThreeTree_succ
      (d : ) (order : Fin 3)
      (seed0 seed1 seed2 :
        FABL.RecursiveMajorityThreeSeed d)
      (x : FABL.SignCube (3 ^ (d + 1))) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.recursiveMajorityThreeTree
            (d + 1)
            (order, seed0, seed1, seed2))
          x =
        if order = 0 then
          FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree
                  d seed0)
                (FABL.recursiveInputBlock x
                  0) +
              FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree
                  d seed1)
                (FABL.recursiveInputBlock x
                  1) +
            if
                FABL.recursiveMajority 3 d
                    (FABL.recursiveInputBlock
                      x 0) =
                  FABL.recursiveMajority 3 d
                    (FABL.recursiveInputBlock
                      x 1) then
              0
            else
              FABL.FiniteDecisionTree.queryCount
                (FABL.recursiveMajorityThreeTree
                  d seed2)
                (FABL.recursiveInputBlock x 2)
        else
          if order = 1 then
            FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed0)
                  (FABL.recursiveInputBlock x
                    0) +
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed2)
                  (FABL.recursiveInputBlock x
                    2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 0) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 2) then
                0
              else
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed1)
                  (FABL.recursiveInputBlock x
                    1)
          else
            FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed1)
                  (FABL.recursiveInputBlock x
                    1) +
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed2)
                  (FABL.recursiveInputBlock x
                    2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 1) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 2) then
                0
              else
                FABL.FiniteDecisionTree.queryCount
                  (FABL.recursiveMajorityThreeTree
                    d seed0)
                  (FABL.recursiveInputBlock x
                    0)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeSeedLaw (d : ) :
      PMF (FABL.RecursiveMajorityThreeSeed d)
    def FABL.recursiveMajorityThreeSeedLaw
      (d : ) :
      PMF (FABL.RecursiveMajorityThreeSeed d)
    Recursive product law on the finite seed type. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeRandomizedTree (d : ) :
      FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (3 ^ d)
        (FABL.recursiveMajority 3 d)
    def FABL.recursiveMajorityThreeRandomizedTree
      (d : ) :
      FABL.RandomizedDecisionTree FABL.Sign
        FABL.Sign (3 ^ d)
        (FABL.recursiveMajority 3 d)
    The actual finite-seed recursively composed randomized tree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ (d : )
      (x : FABL.SignCube (3 ^ (d + 1))) :
      (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).inputCost x =
        (((FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 0) +
                  (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 1) +
                if
                    FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock x 0) =
                      FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock x 1) then
                  0
                else
                  (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 2)) +
              ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 0) +
                  (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 2) +
                if
                    FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock x 0) =
                      FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock x 2) then
                  0
                else
                  (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                    (FABL.recursiveInputBlock x 1)) +
            ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                  (FABL.recursiveInputBlock x 1) +
                (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                  (FABL.recursiveInputBlock x 2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 1) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock x 2) then
                0
              else
                (FABL.recursiveMajorityThreeRandomizedTree d).inputCost
                  (FABL.recursiveInputBlock x 0))) /
          3
    theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ
      (d : )
      (x : FABL.SignCube (3 ^ (d + 1))) :
      (FABL.recursiveMajorityThreeRandomizedTree
              (d + 1)).inputCost
          x =
        (((FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 0) +
                  (FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 1) +
                if
                    FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock
                          x 0) =
                      FABL.recursiveMajority 3
                        d
                        (FABL.recursiveInputBlock
                          x 1) then
                  0
                else
                  (FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 2)) +
              ((FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 0) +
                  (FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 2) +
                if
                    FABL.recursiveMajority 3 d
                        (FABL.recursiveInputBlock
                          x 0) =
                      FABL.recursiveMajority 3
                        d
                        (FABL.recursiveInputBlock
                          x 2) then
                  0
                else
                  (FABL.recursiveMajorityThreeRandomizedTree
                        d).inputCost
                    (FABL.recursiveInputBlock
                      x 1)) +
            ((FABL.recursiveMajorityThreeRandomizedTree
                      d).inputCost
                  (FABL.recursiveInputBlock x
                    1) +
                (FABL.recursiveMajorityThreeRandomizedTree
                      d).inputCost
                  (FABL.recursiveInputBlock x
                    2) +
              if
                  FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 1) =
                    FABL.recursiveMajority 3 d
                      (FABL.recursiveInputBlock
                        x 2) then
                0
              else
                (FABL.recursiveMajorityThreeRandomizedTree
                      d).inputCost
                  (FABL.recursiveInputBlock x
                    0))) /
          3
    Exact one-step input-cost formula for the genuine recursive randomized tree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_le (d : )
      (x : FABL.SignCube (3 ^ d)) :
      (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x 
        FABL.recursiveMajorityRandomizedCostBound d
    theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_le
      (d : ) (x : FABL.SignCube (3 ^ d)) :
      (FABL.recursiveMajorityThreeRandomizedTree
              d).inputCost
          x 
        FABL.recursiveMajorityRandomizedCostBound
          d
    Every input of the genuine recursive tree satisfies the naive product bound. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree d).worstCaseCost 
        FABL.recursiveMajorityRandomizedCostBound d
    theorem FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le
      (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree
            d).worstCaseCost 
        FABL.recursiveMajorityRandomizedCostBound
          d
    Worst-case cost of the genuine recursive tree. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.recursiveMajorityThreeBlocksEquiv (d : ) :
      FABL.SignCube (3 ^ (d + 1))  (Fin 3  FABL.SignCube (3 ^ d))
    def FABL.recursiveMajorityThreeBlocksEquiv
      (d : ) :
      FABL.SignCube (3 ^ (d + 1)) 
        (Fin 3  FABL.SignCube (3 ^ d))
    Reindex a flat depth-`d+1` input as three independent depth-`d` blocks. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.expect_recursiveMajorityThree_toReal_eq_zero (d : ) :
      (Finset.univ.expect fun x =>
          FABL.signValue (FABL.recursiveMajority 3 d x)) =
        0
    theorem FABL.expect_recursiveMajorityThree_toReal_eq_zero
      (d : ) :
      (Finset.univ.expect fun x =>
          FABL.signValue
            (FABL.recursiveMajority 3 d x)) =
        0
    Recursive majority is balanced under uniform input. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.expect_recursiveMajorityThree_disagreement (d : ) :
      (Finset.univ.expect fun pair =>
          if
              FABL.recursiveMajority 3 d pair.1 =
                FABL.recursiveMajority 3 d pair.2 then
            0
          else 1) =
        1 / 2
    theorem FABL.expect_recursiveMajorityThree_disagreement
      (d : ) :
      (Finset.univ.expect fun pair =>
          if
              FABL.recursiveMajority 3 d
                  pair.1 =
                FABL.recursiveMajority 3 d
                  pair.2 then
            0
          else 1) =
        1 / 2
    Two independent recursive-majority outputs disagree with probability `1/2`. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect
      (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree d).averageCost
          (FABL.uniformPMF FABL.Sign) =
        Finset.univ.expect fun x =>
          (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect
      (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree
              d).averageCost
          (FABL.uniformPMF FABL.Sign) =
        Finset.univ.expect fun x =>
          (FABL.recursiveMajorityThreeRandomizedTree
                d).inputCost
            x
    Uniform input average of the recursive randomized tree's input cost. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.expect_recursiveMajorityThree_pairCost (d : ) (i j k : Fin 3)
      (hij : i  j) (hik : i  k) (hjk : j  k) :
      have cost := (FABL.recursiveMajorityThreeRandomizedTree d).inputCost;
      have value := FABL.recursiveMajority 3 d;
      (Finset.univ.expect fun blocks =>
          cost (blocks i) + cost (blocks j) +
            if value (blocks i) = value (blocks j) then 0
            else cost (blocks k)) =
        5 / 2 * Finset.univ.expect fun x => cost x
    theorem FABL.expect_recursiveMajorityThree_pairCost
      (d : ) (i j k : Fin 3) (hij : i  j)
      (hik : i  k) (hjk : j  k) :
      have cost :=
        (FABL.recursiveMajorityThreeRandomizedTree
            d).inputCost;
      have value :=
        FABL.recursiveMajority 3 d;
      (Finset.univ.expect fun blocks =>
          cost (blocks i) + cost (blocks j) +
            if
                value (blocks i) =
                  value (blocks j) then
              0
            else cost (blocks k)) =
        5 / 2 *
          Finset.univ.expect fun x => cost x
    Each of the three pair-first orders has average cost `5/2` times the child average. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).averageCost
          (FABL.uniformPMF FABL.Sign) =
        5 / 2 *
          (FABL.recursiveMajorityThreeRandomizedTree d).averageCost
            (FABL.uniformPMF FABL.Sign)
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ
      (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree
              (d + 1)).averageCost
          (FABL.uniformPMF FABL.Sign) =
        5 / 2 *
          (FABL.recursiveMajorityThreeRandomizedTree
                d).averageCost
            (FABL.uniformPMF FABL.Sign)
    Exact multiplicative uniform-average recurrence of the actual recursive tree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree d).averageCost
          (FABL.uniformPMF FABL.Sign) =
        FABL.recursiveMajorityAverageCostBound d
    theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost
      (d : ) :
      (FABL.recursiveMajorityThreeRandomizedTree
              d).averageCost
          (FABL.uniformPMF FABL.Sign) =
        FABL.recursiveMajorityAverageCostBound
          d
    Uniform average cost of the actual recursive tree is exactly `(5/2)^d`. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeCyclicFirst (seed : Fin 3) : Fin 3
    def FABL.majorityThreeCyclicFirst
      (seed : Fin 3) : Fin 3
    Cyclic query order `seed, seed+1, seed+2` on three coordinates. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeCyclicSecond (seed : Fin 3) : Fin 3
    def FABL.majorityThreeCyclicSecond
      (seed : Fin 3) : Fin 3
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeCyclicThird (seed : Fin 3) : Fin 3
    def FABL.majorityThreeCyclicThird
      (seed : Fin 3) : Fin 3
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreeCyclicSecond_ne_first (seed : Fin 3) :
      FABL.majorityThreeCyclicSecond seed 
        FABL.majorityThreeCyclicFirst seed
    theorem FABL.majorityThreeCyclicSecond_ne_first
      (seed : Fin 3) :
      FABL.majorityThreeCyclicSecond seed 
        FABL.majorityThreeCyclicFirst seed
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreeCyclicThird_ne_first (seed : Fin 3) :
      FABL.majorityThreeCyclicThird seed 
        FABL.majorityThreeCyclicFirst seed
    theorem FABL.majorityThreeCyclicThird_ne_first
      (seed : Fin 3) :
      FABL.majorityThreeCyclicThird seed 
        FABL.majorityThreeCyclicFirst seed
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreeCyclicThird_ne_second (seed : Fin 3) :
      FABL.majorityThreeCyclicThird seed 
        FABL.majorityThreeCyclicSecond seed
    theorem FABL.majorityThreeCyclicThird_ne_second
      (seed : Fin 3) :
      FABL.majorityThreeCyclicThird seed 
        FABL.majorityThreeCyclicSecond seed
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeCyclicTree (seed : Fin 3) :
      FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 3
    def FABL.majorityThreeCyclicTree
      (seed : Fin 3) :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign 3
    Pair-first `Maj₃` tree in a cyclic order. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.majorityThreeCyclicTree_computes (seed : Fin 3) :
      FABL.FiniteDecisionTree.Computes (FABL.majorityThreeCyclicTree seed)
        (FABL.majority 3)
    theorem FABL.majorityThreeCyclicTree_computes
      (seed : Fin 3) :
      FABL.FiniteDecisionTree.Computes
        (FABL.majorityThreeCyclicTree seed)
        (FABL.majority 3)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.majorityThreeCyclicCompletionTree (seed : Fin 3)
      (known : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign 3
        (Finset.univ.erase (FABL.majorityThreeCyclicFirst seed))
    def FABL.majorityThreeCyclicCompletionTree
      (seed : Fin 3) (known : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign 3
        (Finset.univ.erase
          (FABL.majorityThreeCyclicFirst
            seed))
    Finish a `Maj₃` gate after the first cyclicly selected child is already known. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoFinishDifferent {n : } {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃)) (h₂₃ : Disjoint R₂ B₃)
      (C₁ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁)
      (C₂ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂)
      (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃)
      (x₁ x₂ : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁  (R₂  B₃))
    def FABL.depthTwoFinishDifferent {n : }
      {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃))
      (h₂₃ : Disjoint R₂ B₃)
      (C₁ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₁)
      (C₂ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₂)
      (E₃ :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B₃)
      (x₁ x₂ : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign n (R₁  (R₂  B₃))
    Complete two partially evaluated disjoint blocks after their known values disagree. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoFinishEqual {n : } {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃)) (h₂₃ : Disjoint R₂ B₃)
      (C₁ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁)
      (C₂ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂)
      (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃)
      (x₁ : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁  (R₂  B₃))
    def FABL.depthTwoFinishEqual {n : }
      {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃))
      (h₂₃ : Disjoint R₂ B₃)
      (C₁ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₁)
      (C₂ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₂)
      (E₃ :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B₃)
      (x₁ : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign n (R₁  (R₂  B₃))
    Complete two partially evaluated disjoint blocks after their known values agree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.FiniteDecisionTree.queryCount_mapOutput.{u_1, u_2, u_3}
      {Ω : Type u_1} {α : Type u_2} {β : Type u_3} {n : }
      {A : Finset (Fin n)} (g : α  β) (T : FABL.FiniteDecisionTree Ω α n A)
      (x : Fin n  Ω) :
      (FABL.FiniteDecisionTree.mapOutput g T).queryCount x = T.queryCount x
    theorem FABL.FiniteDecisionTree.queryCount_mapOutput.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {α : Type u_2}
      {β : Type u_3} {n : }
      {A : Finset (Fin n)} (g : α  β)
      (T : FABL.FiniteDecisionTree Ω α n A)
      (x : Fin n  Ω) :
      (FABL.FiniteDecisionTree.mapOutput g
              T).queryCount
          x =
        T.queryCount x
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoFinishDifferent {n : }
      {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂  B₃))
      (h₂₃ : Disjoint R₂ B₃)
      (C₁ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁)
      (C₂ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂)
      (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃)
      (x₁ x₂ : FABL.Sign) (x : FABL.SignCube n) :
      (FABL.depthTwoFinishDifferent h₁ h₂₃ C₁ C₂ E₃ x₁ x₂).queryCount x =
        E₃.queryCount x +
          if E₃.eval x = x₁ then
            (C₁ x₁).queryCount x +
              if (C₁ x₁).eval x = E₃.eval x then 0 else (C₂ x₂).queryCount x
          else
            (C₂ x₂).queryCount x +
              if (C₂ x₂).eval x = E₃.eval x then 0 else (C₁ x₁).queryCount x
    theorem FABL.queryCount_depthTwoFinishDifferent
      {n : } {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃))
      (h₂₃ : Disjoint R₂ B₃)
      (C₁ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₁)
      (C₂ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₂)
      (E₃ :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B₃)
      (x₁ x₂ : FABL.Sign)
      (x : FABL.SignCube n) :
      (FABL.depthTwoFinishDifferent h₁ h₂₃ C₁
              C₂ E₃ x₁ x₂).queryCount
          x =
        E₃.queryCount x +
          if E₃.eval x = x₁ then
            (C₁ x₁).queryCount x +
              if
                  (C₁ x₁).eval x =
                    E₃.eval x then
                0
              else (C₂ x₂).queryCount x
          else
            (C₂ x₂).queryCount x +
              if
                  (C₂ x₂).eval x =
                    E₃.eval x then
                0
              else (C₁ x₁).queryCount x
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoFinishEqual {n : } {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃)) (h₂₃ : Disjoint R₂ B₃)
      (C₁ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁)
      (C₂ : FABL.Sign  FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂)
      (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃)
      (x₁ : FABL.Sign) (x : FABL.SignCube n) :
      (FABL.depthTwoFinishEqual h₁ h₂₃ C₁ C₂ E₃ x₁).queryCount x =
        (C₁ x₁).queryCount x +
          if (C₁ x₁).eval x = x₁ then
            (C₂ x₁).queryCount x +
              if (C₂ x₁).eval x = (C₁ x₁).eval x then 0 else E₃.queryCount x
          else
            E₃.queryCount x +
              if E₃.eval x = (C₁ x₁).eval x then 0 else (C₂ x₁).queryCount x
    theorem FABL.queryCount_depthTwoFinishEqual
      {n : } {R₁ R₂ B₃ : Finset (Fin n)}
      (h₁ : Disjoint R₁ (R₂  B₃))
      (h₂₃ : Disjoint R₂ B₃)
      (C₁ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₁)
      (C₂ :
        FABL.Sign 
          FABL.FiniteDecisionTree FABL.Sign
            FABL.Sign n R₂)
      (E₃ :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n B₃)
      (x₁ : FABL.Sign) (x : FABL.SignCube n) :
      (FABL.depthTwoFinishEqual h₁ h₂₃ C₁ C₂
              E₃ x₁).queryCount
          x =
        (C₁ x₁).queryCount x +
          if (C₁ x₁).eval x = x₁ then
            (C₂ x₁).queryCount x +
              if
                  (C₂ x₁).eval x =
                    (C₁ x₁).eval x then
                0
              else E₃.queryCount x
          else
            E₃.queryCount x +
              if
                  E₃.eval x =
                    (C₁ x₁).eval x then
                0
              else (C₂ x₁).queryCount x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInitialCoordinate (block seed : Fin 3) : Fin 9
    def FABL.depthTwoInitialCoordinate
      (block seed : Fin 3) : Fin 9
    The initially queried leaf in a depth-two block. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInitialCoordinates (block seed : Fin 3) : Finset (Fin 9)
    def FABL.depthTwoInitialCoordinates
      (block seed : Fin 3) : Finset (Fin 9)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoRemainingCoordinates (block seed : Fin 3) : Finset (Fin 9)
    def FABL.depthTwoRemainingCoordinates
      (block seed : Fin 3) : Finset (Fin 9)
    The two unqueried leaves in the same block. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInitial_union_remaining (block seed : Fin 3) :
      FABL.depthTwoInitialCoordinates block seed 
          FABL.depthTwoRemainingCoordinates block seed =
        FABL.recursiveMajorityThreeBlockCoordinates 1 block
    theorem FABL.depthTwoInitial_union_remaining
      (block seed : Fin 3) :
      FABL.depthTwoInitialCoordinates block
            seed 
          FABL.depthTwoRemainingCoordinates
            block seed =
        FABL.recursiveMajorityThreeBlockCoordinates
          1 block
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInitial_remaining_disjoint (block seed : Fin 3) :
      Disjoint (FABL.depthTwoInitialCoordinates block seed)
        (FABL.depthTwoRemainingCoordinates block seed)
    theorem FABL.depthTwoInitial_remaining_disjoint
      (block seed : Fin 3) :
      Disjoint
        (FABL.depthTwoInitialCoordinates block
          seed)
        (FABL.depthTwoRemainingCoordinates
          block seed)
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInitial_subset_block (block seed : Fin 3) :
      FABL.depthTwoInitialCoordinates block seed 
        FABL.recursiveMajorityThreeBlockCoordinates 1 block
    theorem FABL.depthTwoInitial_subset_block
      (block seed : Fin 3) :
      FABL.depthTwoInitialCoordinates block
          seed 
        FABL.recursiveMajorityThreeBlockCoordinates
          1 block
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoRemaining_subset_block (block seed : Fin 3) :
      FABL.depthTwoRemainingCoordinates block seed 
        FABL.recursiveMajorityThreeBlockCoordinates 1 block
    theorem FABL.depthTwoRemaining_subset_block
      (block seed : Fin 3) :
      FABL.depthTwoRemainingCoordinates block
          seed 
        FABL.recursiveMajorityThreeBlockCoordinates
          1 block
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInitialTree (block seed : Fin 3) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9
        (FABL.depthTwoInitialCoordinates block seed)
    def FABL.depthTwoInitialTree
      (block seed : Fin 3) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign 9
        (FABL.depthTwoInitialCoordinates block
          seed)
    Query the cyclicly selected initial leaf of a block. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoCompletionTree (block seed : Fin 3) (known : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9
        (FABL.depthTwoRemainingCoordinates block seed)
    def FABL.depthTwoCompletionTree
      (block seed : Fin 3)
      (known : FABL.Sign) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign 9
        (FABL.depthTwoRemainingCoordinates
          block seed)
    Complete a block after its initial leaf has already been queried. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoEvaluationTree (block seed : Fin 3) :
      FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9
        (FABL.recursiveMajorityThreeBlockCoordinates 1 block)
    def FABL.depthTwoEvaluationTree
      (block seed : Fin 3) :
      FABL.FiniteDecisionTree FABL.Sign
        FABL.Sign 9
        (FABL.recursiveMajorityThreeBlockCoordinates
          1 block)
    Evaluate a fresh block by its cyclic pair-first tree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.eval_depthTwoCompletionTree_known_initial (block seed : Fin 3)
      (x : FABL.SignCube 9) :
      (FABL.depthTwoCompletionTree block seed
              (x (FABL.depthTwoInitialCoordinate block seed))).eval
          x =
        FABL.majority 3 (FABL.recursiveInputBlock x block)
    theorem FABL.eval_depthTwoCompletionTree_known_initial
      (block seed : Fin 3)
      (x : FABL.SignCube 9) :
      (FABL.depthTwoCompletionTree block seed
              (x
                (FABL.depthTwoInitialCoordinate
                  block seed))).eval
          x =
        FABL.majority 3
          (FABL.recursiveInputBlock x block)
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThree_one_block (x : FABL.SignCube 9)
      (block : Fin 3) :
      FABL.recursiveMajority 3 1 (FABL.recursiveInputBlock x block) =
        FABL.majority 3 (FABL.recursiveInputBlock x block)
    theorem FABL.recursiveMajorityThree_one_block
      (x : FABL.SignCube 9) (block : Fin 3) :
      FABL.recursiveMajority 3 1
          (FABL.recursiveInputBlock x block) =
        FABL.majority 3
          (FABL.recursiveInputBlock x block)
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.recursiveMajorityThreeBlockCoordinates_union_ordered
      (first second third : Fin 3) (h12 : first  second)
      (h13 : first  third) (h23 : second  third) :
      FABL.recursiveMajorityThreeBlockCoordinates 1 first 
            FABL.recursiveMajorityThreeBlockCoordinates 1 second 
          FABL.recursiveMajorityThreeBlockCoordinates 1 third =
        Finset.univ
    theorem FABL.recursiveMajorityThreeBlockCoordinates_union_ordered
      (first second third : Fin 3)
      (h12 : first  second)
      (h13 : first  third)
      (h23 : second  third) :
      FABL.recursiveMajorityThreeBlockCoordinates
              1 first 
            FABL.recursiveMajorityThreeBlockCoordinates
              1 second 
          FABL.recursiveMajorityThreeBlockCoordinates
            1 third =
        Finset.univ
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedTreeOrdered (first second third : Fin 3)
      (h12 : first  second) (h13 : first  third) (h23 : second  third)
      (seedFirst seedSecond seedThird : Fin 3) :
      FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
    def FABL.depthTwoInterleavedTreeOrdered
      (first second third : Fin 3)
      (h12 : first  second)
      (h13 : first  third)
      (h23 : second  third)
      (seedFirst seedSecond seedThird :
        Fin 3) :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign 9
    One deterministic seed of the height-two interleaved algorithm. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedTreeOrdered_computes
      (first second third : Fin 3) (h12 : first  second)
      (h13 : first  third) (h23 : second  third)
      (seedFirst seedSecond seedThird : Fin 3) :
      FABL.FiniteDecisionTree.Computes
        (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13 h23
          seedFirst seedSecond seedThird)
        (FABL.recursiveMajority 3 2)
    theorem FABL.depthTwoInterleavedTreeOrdered_computes
      (first second third : Fin 3)
      (h12 : first  second)
      (h13 : first  third)
      (h23 : second  third)
      (seedFirst seedSecond seedThird :
        Fin 3) :
      FABL.FiniteDecisionTree.Computes
        (FABL.depthTwoInterleavedTreeOrdered
          first second third h12 h13 h23
          seedFirst seedSecond seedThird)
        (FABL.recursiveMajority 3 2)
    Every ordered interleaving tree computes depth-two recursive majority. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoTopFirst (order : Fin 3) : Fin 3
    def FABL.depthTwoTopFirst (order : Fin 3) :
      Fin 3
    The first block in a cyclicly selected top-block order. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoTopSecond (order : Fin 3) : Fin 3
    def FABL.depthTwoTopSecond (order : Fin 3) :
      Fin 3
    The second block in a cyclicly selected top-block order. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoTopThird (order : Fin 3) : Fin 3
    def FABL.depthTwoTopThird (order : Fin 3) :
      Fin 3
    The third block in a cyclicly selected top-block order. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoTopFirst_ne_second (order : Fin 3) :
      FABL.depthTwoTopFirst order  FABL.depthTwoTopSecond order
    theorem FABL.depthTwoTopFirst_ne_second
      (order : Fin 3) :
      FABL.depthTwoTopFirst order 
        FABL.depthTwoTopSecond order
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoTopFirst_ne_third (order : Fin 3) :
      FABL.depthTwoTopFirst order  FABL.depthTwoTopThird order
    theorem FABL.depthTwoTopFirst_ne_third
      (order : Fin 3) :
      FABL.depthTwoTopFirst order 
        FABL.depthTwoTopThird order
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoTopSecond_ne_third (order : Fin 3) :
      FABL.depthTwoTopSecond order  FABL.depthTwoTopThird order
    theorem FABL.depthTwoTopSecond_ne_third
      (order : Fin 3) :
      FABL.depthTwoTopSecond order 
        FABL.depthTwoTopThird order
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoLeafSeed (seeds : Fin 3 × Fin 3 × Fin 3) (block : Fin 3) :
      Fin 3
    def FABL.depthTwoLeafSeed
      (seeds : Fin 3 × Fin 3 × Fin 3)
      (block : Fin 3) : Fin 3
    Select the cyclic leaf order attached to a block. 
  • abbrevdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    abbrev FABL.DepthTwoInterleavedSeed : Type
    abbrev FABL.DepthTwoInterleavedSeed : Type
    One cyclic top-block order, together with one cyclic leaf order for each block. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedTreeBySeed
      (seed : FABL.DepthTwoInterleavedSeed) :
      FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
    def FABL.depthTwoInterleavedTreeBySeed
      (seed : FABL.DepthTwoInterleavedSeed) :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign 9
    The deterministic height-two interleaved tree selected by one finite seed. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedTreeBySeed_computes
      (seed : FABL.DepthTwoInterleavedSeed) :
      FABL.FiniteDecisionTree.Computes
        (FABL.depthTwoInterleavedTreeBySeed seed)
        (FABL.recursiveMajority 3 2)
    theorem FABL.depthTwoInterleavedTreeBySeed_computes
      (seed : FABL.DepthTwoInterleavedSeed) :
      FABL.FiniteDecisionTree.Computes
        (FABL.depthTwoInterleavedTreeBySeed
          seed)
        (FABL.recursiveMajority 3 2)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedRandomizedTree :
      FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 9
        (FABL.recursiveMajority 3 2)
    def FABL.depthTwoInterleavedRandomizedTree :
      FABL.RandomizedDecisionTree FABL.Sign
        FABL.Sign 9
        (FABL.recursiveMajority 3 2)
    The genuine finite randomized tree for the strict depth-two improvement. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoCompletionModelCost (block seed : Fin 3)
      (known : FABL.Sign) (x : FABL.SignCube 9) : 
    def FABL.depthTwoCompletionModelCost
      (block seed : Fin 3) (known : FABL.Sign)
      (x : FABL.SignCube 9) : 
    Additional queries required to complete a block after its first leaf is known. 
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoEvaluationModelCost (block seed : Fin 3)
      (x : FABL.SignCube 9) : 
    def FABL.depthTwoEvaluationModelCost
      (block seed : Fin 3)
      (x : FABL.SignCube 9) : 
    Query cost of evaluating a fresh block in its cyclic order. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoCompletionTree (block seed : Fin 3)
      (known : FABL.Sign) (x : FABL.SignCube 9) :
      (FABL.depthTwoCompletionTree block seed known).queryCount x =
        FABL.depthTwoCompletionModelCost block seed known x
    theorem FABL.queryCount_depthTwoCompletionTree
      (block seed : Fin 3) (known : FABL.Sign)
      (x : FABL.SignCube 9) :
      (FABL.depthTwoCompletionTree block seed
              known).queryCount
          x =
        FABL.depthTwoCompletionModelCost block
          seed known x
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoEvaluationTree (block seed : Fin 3)
      (x : FABL.SignCube 9) :
      (FABL.depthTwoEvaluationTree block seed).queryCount x =
        FABL.depthTwoEvaluationModelCost block seed x
    theorem FABL.queryCount_depthTwoEvaluationTree
      (block seed : Fin 3)
      (x : FABL.SignCube 9) :
      (FABL.depthTwoEvaluationTree block
              seed).queryCount
          x =
        FABL.depthTwoEvaluationModelCost block
          seed x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoBlockModelValue (x : FABL.SignCube 9) (block : Fin 3) :
      FABL.Sign
    def FABL.depthTwoBlockModelValue
      (x : FABL.SignCube 9) (block : Fin 3) :
      FABL.Sign
    Pure numerical cost model of the height-two interleaving algorithm in one top-block
    order. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoBlockModelValue_eq_majority (x : FABL.SignCube 9)
      (block : Fin 3) :
      FABL.depthTwoBlockModelValue x block =
        FABL.majority 3 (FABL.recursiveInputBlock x block)
    theorem FABL.depthTwoBlockModelValue_eq_majority
      (x : FABL.SignCube 9) (block : Fin 3) :
      FABL.depthTwoBlockModelValue x block =
        FABL.majority 3
          (FABL.recursiveInputBlock x block)
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedModelCostOrdered
      (first second third seedFirst seedSecond seedThird : Fin 3)
      (x : FABL.SignCube 9) : 
    def FABL.depthTwoInterleavedModelCostOrdered
      (first second third seedFirst seedSecond
        seedThird : Fin 3)
      (x : FABL.SignCube 9) : 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoInterleavedTreeOrdered
      (first second third : Fin 3) (h12 : first  second)
      (h13 : first  third) (h23 : second  third)
      (seedFirst seedSecond seedThird : Fin 3) (x : FABL.SignCube 9) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13
            h23 seedFirst seedSecond seedThird)
          x =
        FABL.depthTwoInterleavedModelCostOrdered first second third
          seedFirst seedSecond seedThird x
    theorem FABL.queryCount_depthTwoInterleavedTreeOrdered
      (first second third : Fin 3)
      (h12 : first  second)
      (h13 : first  third)
      (h23 : second  third)
      (seedFirst seedSecond seedThird : Fin 3)
      (x : FABL.SignCube 9) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.depthTwoInterleavedTreeOrdered
            first second third h12 h13 h23
            seedFirst seedSecond seedThird)
          x =
        FABL.depthTwoInterleavedModelCostOrdered
          first second third seedFirst
          seedSecond seedThird x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedModelCost (seed : FABL.DepthTwoInterleavedSeed)
      (x : FABL.SignCube 9) : 
    def FABL.depthTwoInterleavedModelCost
      (seed : FABL.DepthTwoInterleavedSeed)
      (x : FABL.SignCube 9) : 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.queryCount_depthTwoInterleavedTreeBySeed
      (seed : FABL.DepthTwoInterleavedSeed) (x : FABL.SignCube 9) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.depthTwoInterleavedTreeBySeed seed) x =
        FABL.depthTwoInterleavedModelCost seed x
    theorem FABL.queryCount_depthTwoInterleavedTreeBySeed
      (seed : FABL.DepthTwoInterleavedSeed)
      (x : FABL.SignCube 9) :
      FABL.FiniteDecisionTree.queryCount
          (FABL.depthTwoInterleavedTreeBySeed
            seed)
          x =
        FABL.depthTwoInterleavedModelCost seed
          x
  • defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    def FABL.depthTwoInterleavedModelCostSum (x : FABL.SignCube 9) : 
    def FABL.depthTwoInterleavedModelCostSum
      (x : FABL.SignCube 9) : 
    The total query count of the eighty-one explicitly randomized height-two trees. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one
      (x : FABL.SignCube 9) :
      x 0 = 1  FABL.depthTwoInterleavedModelCostSum x  571
    theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one
      (x : FABL.SignCube 9) :
      x 0 = 1 
        FABL.depthTwoInterleavedModelCostSum
            x 
          571
    The finite cost-table bound on inputs whose first coordinate is positive.  The finite
    decision procedure is scoped to a larger local heartbeat budget. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one
      (x : FABL.SignCube 9) :
      x 0 = -1  FABL.depthTwoInterleavedModelCostSum x  571
    theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one
      (x : FABL.SignCube 9) :
      x 0 = -1 
        FABL.depthTwoInterleavedModelCostSum
            x 
          571
    The finite cost-table bound on inputs whose first coordinate is negative.  The finite
    decision procedure is scoped to a larger local heartbeat budget. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedModelCostSum_le (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedModelCostSum x  571
    theorem FABL.depthTwoInterleavedModelCostSum_le
      (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedModelCostSum x 
        571
    The finite height-two cost table is pointwise bounded by `571` queries over its
    eighty-one equally likely seeds. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.card_depthTwoInterleavedSeed :
      Fintype.card FABL.DepthTwoInterleavedSeed = 81
    theorem FABL.card_depthTwoInterleavedSeed :
      Fintype.card
          FABL.DepthTwoInterleavedSeed =
        81
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedRandomizedTree_inputCost (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedRandomizedTree.inputCost x =
        (FABL.depthTwoInterleavedModelCostSum x) / 81
    theorem FABL.depthTwoInterleavedRandomizedTree_inputCost
      (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedRandomizedTree.inputCost
          x =
        (FABL.depthTwoInterleavedModelCostSum
              x) /
          81
    On a fixed input, the explicit randomized tree's expected query count is the
    finite cost-table sum divided by its eighty-one equiprobable seeds. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedRandomizedTree_inputCost_le
      (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedRandomizedTree.inputCost x  571 / 81
    theorem FABL.depthTwoInterleavedRandomizedTree_inputCost_le
      (x : FABL.SignCube 9) :
      FABL.depthTwoInterleavedRandomizedTree.inputCost
          x 
        571 / 81
    Every input costs at most `571/81` queries for the explicit height-two tree. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le :
      FABL.depthTwoInterleavedRandomizedTree.worstCaseCost  571 / 81
    theorem FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le :
      FABL.depthTwoInterleavedRandomizedTree.worstCaseCost 
        571 / 81
    The actual height-two randomized tree has worst-case cost at most `571/81`. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le :
      FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) 
        571 / 81
    theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le :
      FABL.RandomizedDecisionTree.complexity
          (FABL.recursiveMajority 3 2) 
        571 / 81
    The explicit interleaved tree witnesses the height-two bound `RDT ≤ 571/81`. 
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two :
      571 / 81 < FABL.recursiveMajorityRandomizedCostBound 2
    theorem FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two :
      571 / 81 <
        FABL.recursiveMajorityRandomizedCostBound
          2
  • theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.lean
    complete
    theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt :
      FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) <
        FABL.recursiveMajorityRandomizedCostBound 2
    theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt :
      FABL.RandomizedDecisionTree.complexity
          (FABL.recursiveMajority 3 2) <
        FABL.recursiveMajorityRandomizedCostBound
          2
    Exercise 8.38(b): at depth two the explicit interleaved randomized tree strictly
    improves on independently composing the optimal one-level tree. 
Lemma8.7.39
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

The further request to optimize the numerical upper bound in Exercise 8.38 is open-ended and supplies no production assumption.

Lemma8.7.40
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.39. For every deterministic tree computing OR, prove \Delta^{(p)}(T) =p\cdot1+(1-p)p\cdot2+\cdots+(1-p)^{n-1}n =\frac{1-(1-p)^n}{p}. Deduce the same minimum for \operatorname{OR}_n and prove at criticality \Delta^{(p_c)}(\operatorname{OR}_n) \sim\frac{n}{2\ln2}.

Lean code for Lemma8.7.408 declarations
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.orOnCoordinates {n : } (available : Finset (Fin n)) :
      FABL.BooleanFunction n
    def FABL.orOnCoordinates {n : }
      (available : Finset (Fin n)) :
      FABL.BooleanFunction n
    OR restricted to a named set of coordinates. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.sequentialOrTree (n : ) :
      FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n
    def FABL.sequentialOrTree (n : ) :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign n
    The complete sequential OR tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.sequentialOrTree_computes (n : ) :
      FABL.FiniteDecisionTree.Computes (FABL.sequentialOrTree n)
        (FABL.orFunction n)
    theorem FABL.sequentialOrTree_computes (n : ) :
      FABL.FiniteDecisionTree.Computes
        (FABL.sequentialOrTree n)
        (FABL.orFunction n)
    The sequential tree computes the book's OR function. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.sequentialOrTree_averageCost (n : ) (p : )
      (hp : p  Set.Ioo 0 1) :
      FABL.RandomizedDecisionTree.deterministicAverageCost
          (FABL.biasedSignPMF p ) (FABL.sequentialOrTree n) =
        FABL.orAverageQueryCost n p
    theorem FABL.sequentialOrTree_averageCost (n : )
      (p : ) (hp : p  Set.Ioo 0 1) :
      FABL.RandomizedDecisionTree.deterministicAverageCost
          (FABL.biasedSignPMF p )
          (FABL.sequentialOrTree n) =
        FABL.orAverageQueryCost n p
    Exercise 8.39(a): exact cost of the displayed sequential OR tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost
      {n : } (p : ) (hp : p  Set.Ioo 0 1) {available : Finset (Fin n)}
      (T : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n available)
      (hT : T.Computes (FABL.orOnCoordinates available)) :
      FABL.orAverageQueryCost available.card p 
        FABL.FiniteDecisionTree.auxiliaryAverageCost
          (FABL.biasedSignPMF p ) T
    theorem FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      {available : Finset (Fin n)}
      (T :
        FABL.FiniteDecisionTree FABL.Sign
          FABL.Sign n available)
      (hT :
        T.Computes
          (FABL.orOnCoordinates available)) :
      FABL.orAverageQueryCost available.card
          p 
        FABL.FiniteDecisionTree.auxiliaryAverageCost
          (FABL.biasedSignPMF p ) T
    Exercise 8.39(a), optimality: every deterministic tree computing OR on its available
    coordinates has the same lower bound as the sequential tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost {n : }
      (p : ) (hp : p  Set.Ioo 0 1)
      (T :
        FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n
          (FABL.orFunction n)) :
      FABL.orAverageQueryCost n p  T.averageCost (FABL.biasedSignPMF p )
    theorem FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign n (FABL.orFunction n)) :
      FABL.orAverageQueryCost n p 
        T.averageCost (FABL.biasedSignPMF p )
    Every zero-error randomized OR tree has average cost at least the geometric value. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.one_sub_orCriticalProbability_pow (n : ) (hn : 0 < n) :
      (1 - FABL.orCriticalProbability n) ^ n = 1 / 2
    theorem FABL.one_sub_orCriticalProbability_pow
      (n : ) (hn : 0 < n) :
      (1 - FABL.orCriticalProbability n) ^ n =
        1 / 2
    The explicit parameter is critical: the all-false input has probability one half. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.tendsto_nat_mul_orCriticalProbability :
      Filter.Tendsto (fun n => n * FABL.orCriticalProbability n)
        Filter.atTop (nhds (Real.log 2))
    theorem FABL.tendsto_nat_mul_orCriticalProbability :
      Filter.Tendsto
        (fun n =>
          n * FABL.orCriticalProbability n)
        Filter.atTop (nhds (Real.log 2))
    The critical scale satisfies `n p_c(n) → log 2`. 
Lemma8.7.41
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.40. For recursive NAND prove, for even d, the identity \operatorname{NAND}^{\otimes d}=\operatorname{Tribes}_{2,2}^{\otimes d/2} and \operatorname{DT}(\operatorname{NAND}^{\otimes d})=2^d. Show \operatorname{RDT}(\operatorname{NAND})=2. The printed part (d) interchanges the truth labels: the unique false-output input necessarily costs 2, while the random-order tree has true-output cost at most 3/2. With this correction, deduce \operatorname{RDT}(\operatorname{NAND}^{\otimes2})\le3. Construct T_d satisfying R_F(T_d)\le2R_T(T_{d-1}), \qquad R_T(T_d)\le R_F(T_{d-1})+\tfrac12R_T(T_{d-1}), and hence, for n=2^d, with \lambda=(1+\sqrt{33})/4, the valid explicit bound \operatorname{RDT}(\operatorname{NAND}^{\otimes d}) \le\frac2\lambda\lambda^d \approx n^{0.754}. The coefficient-one inequality printed in part (g) is already false at d=1, since \operatorname{RDT}(\operatorname{NAND})=2>\lambda.

Lean code for Lemma8.7.4132 declarations
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.nandFunction : FABL.BooleanFunction 2
    def FABL.nandFunction : FABL.BooleanFunction 2
    Binary NAND in the book's convention `-1 = True`. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.nandTree01 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
    def FABL.nandTree01 :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign 2
    Query coordinate `0` first, stopping as soon as NAND is known to be true. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.nandTree10 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
    def FABL.nandTree10 :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign FABL.Sign 2
    Query coordinate `1` first, stopping as soon as NAND is known to be true. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.nandRandomizedTree :
      FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2 FABL.nandFunction
    def FABL.nandRandomizedTree :
      FABL.RandomizedDecisionTree FABL.Sign
        FABL.Sign 2 FABL.nandFunction
    The two equally likely query orders for the zero-error NAND algorithm. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.nandRandomizedTree_inputCost (x : FABL.SignCube 2) :
      FABL.nandRandomizedTree.inputCost x =
        ((if x 0 = 1 then 1 else 2) + if x 1 = 1 then 1 else 2) / 2
    theorem FABL.nandRandomizedTree_inputCost
      (x : FABL.SignCube 2) :
      FABL.nandRandomizedTree.inputCost x =
        ((if x 0 = 1 then 1 else 2) +
            if x 1 = 1 then 1 else 2) /
          2
    Exact pointwise cost of the uniformly randomized query order. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.nandRandomizedTree_inputCost_of_eq_one (x : FABL.SignCube 2)
      (hx : FABL.nandFunction x = 1) :
      FABL.nandRandomizedTree.inputCost x = 2
    theorem FABL.nandRandomizedTree_inputCost_of_eq_one
      (x : FABL.SignCube 2)
      (hx : FABL.nandFunction x = 1) :
      FABL.nandRandomizedTree.inputCost x = 2
    On the unique false-output input, both coordinates must be read. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.nandRandomizedTree_inputCost_of_eq_neg_one (x : FABL.SignCube 2)
      (hx : FABL.nandFunction x = -1) :
      FABL.nandRandomizedTree.inputCost x  3 / 2
    theorem FABL.nandRandomizedTree_inputCost_of_eq_neg_one
      (x : FABL.SignCube 2)
      (hx : FABL.nandFunction x = -1) :
      FABL.nandRandomizedTree.inputCost x 
        3 / 2
    On every true-output input, the random-order NAND algorithm costs at most `3/2`.  This is the
    mathematically consistent form of Exercise 8.40(d); the printed exercise interchanges the labels
    `True` and `False`, since a zero-error algorithm must read both bits on the false NAND input. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two
      (T :
        FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2
          FABL.nandFunction) :
      T.inputCost FABL.nandAllTrue = 2
    theorem FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
          FABL.Sign 2 FABL.nandFunction) :
      T.inputCost FABL.nandAllTrue = 2
    Every zero-error randomized NAND tree pays exactly two queries on the false-output input. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.randomizedDecisionTreeComplexity_nand :
      FABL.RandomizedDecisionTree.complexity FABL.nandFunction = 2
    theorem FABL.randomizedDecisionTreeComplexity_nand :
      FABL.RandomizedDecisionTree.complexity
          FABL.nandFunction =
        2
    Exercise 8.40(c): `RDT(NAND) = 2`. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.recursiveNAND (d : ) : FABL.BooleanFunction (2 ^ d)
    def FABL.recursiveNAND (d : ) :
      FABL.BooleanFunction (2 ^ d)
    The depth-`d` complete binary NAND formula. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.deterministicDepth_recursiveNAND_le (d : ) :
      FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) 
        2 ^ d
    theorem FABL.deterministicDepth_recursiveNAND_le
      (d : ) :
      FABL.FiniteDecisionTree.deterministicDepth
          (FABL.recursiveNAND d) 
        2 ^ d
    The general finite decision-tree model gives the deterministic upper bound in
    Exercise 8.40(b); the matching evasiveness lower bound is a separate composition argument. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.recursiveNand_costs_one :
      FABL.recursiveNandFalseCost 1 = 2 
        FABL.recursiveNandTrueCost 1 = 3 / 2
    theorem FABL.recursiveNand_costs_one :
      FABL.recursiveNandFalseCost 1 = 2 
        FABL.recursiveNandTrueCost 1 = 3 / 2
    Exercise 8.40(d), with the true/false labels corrected as explained above. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.recursiveNand_costs_two :
      max (FABL.recursiveNandFalseCost 2) (FABL.recursiveNandTrueCost 2) = 3
    theorem FABL.recursiveNand_costs_two :
      max (FABL.recursiveNandFalseCost 2)
          (FABL.recursiveNandTrueCost 2) =
        3
    Exercise 8.40(e): the depth-two recurrence has cost at most three. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.nandGrowthRate : 
    def FABL.nandGrowthRate : 
    The dominant eigenvalue of the conditional-cost recurrence. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.recursiveNand_conditionalCost_bounds (d : ) :
      FABL.recursiveNandFalseCost d 
          2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d 
        FABL.recursiveNandTrueCost d  FABL.nandGrowthRate ^ d
    theorem FABL.recursiveNand_conditionalCost_bounds
      (d : ) :
      FABL.recursiveNandFalseCost d 
          2 / FABL.nandGrowthRate *
            FABL.nandGrowthRate ^ d 
        FABL.recursiveNandTrueCost d 
          FABL.nandGrowthRate ^ d
    Exercise 8.40(f--g), exact recurrence bound.  The multiplicative factor `2/λ` is necessary
    at depth one (`RDT(NAND)=2 > λ`); thus the coefficient-one inequality printed in part (g) cannot
    hold with the indexing and zero-error model stated in the exercise. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.recursiveNand_maxCost_le (d : ) :
      max (FABL.recursiveNandFalseCost d) (FABL.recursiveNandTrueCost d) 
        2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
    theorem FABL.recursiveNand_maxCost_le (d : ) :
      max (FABL.recursiveNandFalseCost d)
          (FABL.recursiveNandTrueCost d) 
        2 / FABL.nandGrowthRate *
          FABL.nandGrowthRate ^ d
    A single bound for both conditional recurrence costs. 
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.recursiveNandTree (d : ) :
      FABL.RecursiveNandSeed d 
        FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (2 ^ d)
    def FABL.recursiveNandTree (d : ) :
      FABL.RecursiveNandSeed d 
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign (2 ^ d)
    Deterministic tree selected by a complete recursive seed. 
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.recursiveNandRandomizedTree (d : ) :
      FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (2 ^ d)
        (FABL.recursiveNAND d)
    def FABL.recursiveNandRandomizedTree (d : ) :
      FABL.RandomizedDecisionTree FABL.Sign
        FABL.Sign (2 ^ d)
        (FABL.recursiveNAND d)
    The genuine finite-seed randomized recursive NAND tree family from Exercise 8.40(f). 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.recursiveNandTree_computes (d : )
      (seed : FABL.RecursiveNandSeed d) :
      FABL.FiniteDecisionTree.Computes (FABL.recursiveNandTree d seed)
        (FABL.recursiveNAND d)
    theorem FABL.recursiveNandTree_computes (d : )
      (seed : FABL.RecursiveNandSeed d) :
      FABL.FiniteDecisionTree.Computes
        (FABL.recursiveNandTree d seed)
        (FABL.recursiveNAND d)
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.recursiveNandFalseOutputCost (d : ) : 
    def FABL.recursiveNandFalseOutputCost
      (d : ) : 
    Book notation `RDT_False(T_d)`; false is sign `+1`. 
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.recursiveNandTrueOutputCost (d : ) : 
    def FABL.recursiveNandTrueOutputCost (d : ) :
      
    Book notation `RDT_True(T_d)`; true is sign `-1`. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.recursiveNandFalseOutputCost_succ_le (d : ) :
      FABL.recursiveNandFalseOutputCost (d + 1) 
        2 * FABL.recursiveNandTrueOutputCost d
    theorem FABL.recursiveNandFalseOutputCost_succ_le
      (d : ) :
      FABL.recursiveNandFalseOutputCost
          (d + 1) 
        2 * FABL.recursiveNandTrueOutputCost d
    Exercise 8.40(f), false-output recurrence for the actual finite-seed tree family. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.recursiveNandTrueOutputCost_succ_le (d : ) :
      FABL.recursiveNandTrueOutputCost (d + 1) 
        FABL.recursiveNandFalseOutputCost d +
          FABL.recursiveNandTrueOutputCost d / 2
    theorem FABL.recursiveNandTrueOutputCost_succ_le
      (d : ) :
      FABL.recursiveNandTrueOutputCost
          (d + 1) 
        FABL.recursiveNandFalseOutputCost d +
          FABL.recursiveNandTrueOutputCost d /
            2
    Exercise 8.40(f), true-output recurrence for the actual finite-seed tree family. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth (d : ) :
      (FABL.recursiveNandRandomizedTree d).worstCaseCost 
        2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
    theorem FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth
      (d : ) :
      (FABL.recursiveNandRandomizedTree
            d).worstCaseCost 
        2 / FABL.nandGrowthRate *
          FABL.nandGrowthRate ^ d
    Exercise 8.40(g), corrected zero-error upper bound with the necessary prefactor. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.randomizedDecisionTreeComplexity_recursiveNAND_le (d : ) :
      FABL.RandomizedDecisionTree.complexity (FABL.recursiveNAND d) 
        2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
    theorem FABL.randomizedDecisionTreeComplexity_recursiveNAND_le
      (d : ) :
      FABL.RandomizedDecisionTree.complexity
          (FABL.recursiveNAND d) 
        2 / FABL.nandGrowthRate *
          FABL.nandGrowthRate ^ d
    The recursive tree family witnesses the corresponding randomized-complexity upper bound. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.exercise8_40d_printed_false_label_is_wrong :
      FABL.recursiveNandFalseOutputCost 1  3 / 2
    theorem FABL.exercise8_40d_printed_false_label_is_wrong :
      FABL.recursiveNandFalseOutputCost 1 
        3 / 2
    Formal counterexample to the swapped label in Exercise 8.40(d). 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.exercise8_40g_coefficient_one_fails_at_depth_one :
      ¬(FABL.recursiveNandRandomizedTree 1).worstCaseCost 
          FABL.nandGrowthRate ^ 1
    theorem FABL.exercise8_40g_coefficient_one_fails_at_depth_one :
      ¬(FABL.recursiveNandRandomizedTree
              1).worstCaseCost 
          FABL.nandGrowthRate ^ 1
    Formal counterexample to the coefficient-one inequality printed in Exercise 8.40(g). 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.fourierDegree_recursiveNAND (d : ) :
      FABL.fourierDegree (FABL.recursiveNAND d).toReal = 2 ^ d
    theorem FABL.fourierDegree_recursiveNAND (d : ) :
      FABL.fourierDegree
          (FABL.recursiveNAND d).toReal =
        2 ^ d
    Recursive NAND has the maximum possible Fourier degree. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.deterministicDepth_recursiveNAND (d : ) :
      FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) =
        2 ^ d
    theorem FABL.deterministicDepth_recursiveNAND
      (d : ) :
      FABL.FiniteDecisionTree.deterministicDepth
          (FABL.recursiveNAND d) =
        2 ^ d
    Exercise 8.40(b): recursive NAND is evasive. 
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.iteratedTribesTwoTwo (k : ) : FABL.BooleanFunction (4 ^ k)
    def FABL.iteratedTribesTwoTwo (k : ) :
      FABL.BooleanFunction (4 ^ k)
    Flat-coordinate version of the iterated `Tribes_{2,2}` tensor power. 
  • defdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    def FABL.recursiveNandEvenTribesCoordinateEquiv (k : ) :
      Fin (2 ^ (2 * k))  Fin (4 ^ k)
    def FABL.recursiveNandEvenTribesCoordinateEquiv
      (k : ) :
      Fin (2 ^ (2 * k))  Fin (4 ^ k)
    Explicit coordinate equivalence grouping two binary levels into each quaternary level. 
  • theoremdefined in FABL/Chapter08/RecursiveNANDComposition.lean
    complete
    theorem FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo (k : )
      (x : FABL.SignCube (2 ^ (2 * k))) :
      FABL.recursiveNAND (2 * k) x =
        FABL.iteratedTribesTwoTwo k
          ((FABL.piReindexEquiv
              (FABL.recursiveNandEvenTribesCoordinateEquiv k))
            x)
    theorem FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo
      (k : )
      (x : FABL.SignCube (2 ^ (2 * k))) :
      FABL.recursiveNAND (2 * k) x =
        FABL.iteratedTribesTwoTwo k
          ((FABL.piReindexEquiv
              (FABL.recursiveNandEvenTribesCoordinateEquiv
                k))
            x)
    Exercise 8.40(a): at even depth, recursive NAND is the iterated `Tribes_{2,2}` function,
    under the explicit grouping of consecutive binary address digits. 
Theorem8.7.42
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Corollary 3.4.7
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.41. The class of monotone Boolean functions satisfying \operatorname{DT}(f)\le k is learnable from random examples to error \epsilon in time n^{O(\sqrt{k}/\epsilon)}.

Lean code for Theorem8.7.423 declarations
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.totalInfluence_le_sqrt_deterministicDepth_of_monotone {n k : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hdepth : FABL.FiniteDecisionTree.deterministicDepth f.toReal  k) :
      FABL.totalInfluence f.toReal  k
    theorem FABL.totalInfluence_le_sqrt_deterministicDepth_of_monotone
      {n k : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hdepth :
        FABL.FiniteDecisionTree.deterministicDepth
            f.toReal 
          k) :
      FABL.totalInfluence f.toReal  k
    A monotone Boolean function of deterministic decision-tree depth at most `k` has total
    influence at most `√k`. 
  • defdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    def FABL.monotoneDecisionTreeLearningDegree (k : )
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.monotoneDecisionTreeLearningDegree
      (k : )
      (ε : FABL.PositiveLearningParameter) :
      
    Degree cutoff for the OS-based learner in Exercise 8.41. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.lowDegreeFourierEstimatorProgram_of_monotone_deterministicDepth_failure_le_one_tenth
      {n k : } (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (hdepth :
        FABL.FiniteDecisionTree.deterministicDepth target.toReal  k)
      (ε : FABL.PositiveLearningParameter) :
      ((FABL.lowDegreeFourierEstimatorProgram n
              (FABL.monotoneDecisionTreeLearningDegree k ε)
              ε).eventProbability
          target fun outcome =>
          ε < FABL.relativeHammingDist target outcome.1.evaluate) 
        1 / 10
    theorem FABL.lowDegreeFourierEstimatorProgram_of_monotone_deterministicDepth_failure_le_one_tenth
      {n k : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (hdepth :
        FABL.FiniteDecisionTree.deterministicDepth
            target.toReal 
          k)
      (ε : FABL.PositiveLearningParameter) :
      ((FABL.lowDegreeFourierEstimatorProgram
              n
              (FABL.monotoneDecisionTreeLearningDegree
                k ε)
              ε).eventProbability
          target fun outcome =>
          ε <
            FABL.relativeHammingDist target
              outcome.1.evaluate) 
        1 / 10
    Exercise 8.41: the Chapter 3 Low-Degree random-example learner applies with the
    `O(√k/ε)` cutoff to monotone functions of deterministic decision-tree depth at most `k`. 
Lemma8.7.43
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 8.42. Prove that the completed input produced by the process in Definition 8.70 has exactly the product law \pi^{\otimes n}.

Lean code for Lemma8.7.431 theorem
  • theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.lean
    complete
    theorem FABL.FiniteDecisionTree.decisionTreeProcessPMF_map_input.{u_1, u_2}
      {Ω : Type u_1} {α : Type u_2} {n : } [Fintype Ω] (π : PMF Ω)
      (T : FABL.FiniteAlphabetDecisionTree Ω α n) :
      PMF.map FABL.FiniteDecisionTree.ProcessSample.input
          (FABL.FiniteDecisionTree.decisionTreeProcessPMF π T) =
        FABL.productProbabilityPMF π n
    theorem FABL.FiniteDecisionTree.decisionTreeProcessPMF_map_input.{u_1,
        u_2}
      {Ω : Type u_1} {α : Type u_2} {n : }
      [Fintype Ω] (π : PMF Ω)
      (T :
        FABL.FiniteAlphabetDecisionTree Ω α
          n) :
      PMF.map
          FABL.FiniteDecisionTree.ProcessSample.input
          (FABL.FiniteDecisionTree.decisionTreeProcessPMF
            π T) =
        FABL.productProbabilityPMF π n
    Exercise 8.42: the final string generated by the decision-tree process has exactly the product
    distribution `π⊗n`. 
Lemma8.7.44
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.43. If a deterministic decision tree has s leaves, prove the average-query bound \Delta(T)\le\log_2s.

Lean code for Lemma8.7.443 theorems
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.one_add_average_logb_two_le_logb_two_add {a b : } (ha : 0 < a)
      (hb : 0 < b) :
      1 + (Real.logb 2 a + Real.logb 2 b) / 2  Real.logb 2 (a + b)
    theorem FABL.one_add_average_logb_two_le_logb_two_add
      {a b : } (ha : 0 < a) (hb : 0 < b) :
      1 +
          (Real.logb 2 a + Real.logb 2 b) /
            2 
        Real.logb 2 (a + b)
    Binary logarithm inequality used at a binary query node. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.FiniteDecisionTree.auxiliaryAverageCost_uniform_le_log_leafCount.{u_1}
      {α : Type u_1} {n : } {available : Finset (Fin n)}
      (T : FABL.FiniteDecisionTree FABL.Sign α n available) :
      FABL.FiniteDecisionTree.auxiliaryAverageCost
          (FABL.uniformPMF FABL.Sign) T 
        Real.logb 2 T.leafCount
    theorem FABL.FiniteDecisionTree.auxiliaryAverageCost_uniform_le_log_leafCount.{u_1}
      {α : Type u_1} {n : }
      {available : Finset (Fin n)}
      (T :
        FABL.FiniteDecisionTree FABL.Sign α n
          available) :
      FABL.FiniteDecisionTree.auxiliaryAverageCost
          (FABL.uniformPMF FABL.Sign) T 
        Real.logb 2 T.leafCount
    Exercise 8.43: under uniform binary input, average queries are at most `log₂` leaf count. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.FiniteDecisionTree.deterministicAverageCost_le_log_leafCount.{u_1}
      {α : Type u_1} {n : }
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign α n) :
      FABL.RandomizedDecisionTree.deterministicAverageCost
          (FABL.uniformPMF FABL.Sign) T 
        Real.logb 2 (FABL.FiniteDecisionTree.leafCount T)
    theorem FABL.FiniteDecisionTree.deterministicAverageCost_le_log_leafCount.{u_1}
      {α : Type u_1} {n : }
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign α n) :
      FABL.RandomizedDecisionTree.deterministicAverageCost
          (FABL.uniformPMF FABL.Sign) T 
        Real.logb 2
          (FABL.FiniteDecisionTree.leafCount
              T)
    Exercise 8.43 in the public complete-tree average-cost notation. 
Lemma8.7.45
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 8.6.11
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.44. Prove \operatorname{MaxInf}[f] \ge\frac{\operatorname{Var}[f]}{\Delta^{(\pi)}(f)}, \qquad \mathbf I[f] \ge\frac{\operatorname{Var}[f]}{\delta^{(\pi)}(f)}. On the binary cube, the further conclusion \operatorname{MaxInf}[f] \ge\frac{\operatorname{Var}[f]}{\deg(f)^3} depends on the external Midrijānis theorem \operatorname{DT}(f)\le\deg(f)^3; the external prerequisite is recorded without becoming an assumption of the production library.

Lean code for Lemma8.7.452 theorems
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.maximumProductInfluence_ge_variance_div_averageComplexity.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω}
      ( : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f)
      (hnonconst : FABL.IsNonconstantProductFunction f) :
      FABL.productVariance π f /
          FABL.RandomizedDecisionTree.averageComplexity π f 
        FABL.maximumProductInfluence π f
    theorem FABL.maximumProductInfluence_ge_variance_div_averageComplexity.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω}
      ( : FABL.PMFHasFullSupport π)
      {ι : Type u_2} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f)
      (hnonconst :
        FABL.IsNonconstantProductFunction f) :
      FABL.productVariance π f /
          FABL.RandomizedDecisionTree.averageComplexity
            π f 
        FABL.maximumProductInfluence π f
    Exercise 8.44(a): maximum influence lower-bounds variance divided by minimum average query
    complexity. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.productTotalInfluence_ge_variance_div_functionRevealment.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω}
      ( : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f)
      (hnonconst : FABL.IsNonconstantProductFunction f) :
      FABL.productVariance π f /
          FABL.RandomizedDecisionTree.functionRevealment π f 
        FABL.productTotalInfluence π f
    theorem FABL.productTotalInfluence_ge_variance_div_functionRevealment.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω}
      ( : FABL.PMFHasFullSupport π)
      {ι : Type u_2} [Fintype ι] [Nonempty ι]
      [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (hf : FABL.HasSignRange f)
      (hnonconst :
        FABL.IsNonconstantProductFunction f) :
      FABL.productVariance π f /
          FABL.RandomizedDecisionTree.functionRevealment
            π f 
        FABL.productTotalInfluence π f
    Exercise 8.44(c): total influence lower-bounds variance divided by minimum revealment. 
Lemma8.7.46
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 8.6.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.45. For every randomized decision tree T computing f, prove \operatorname{Inf}_i[f]\le\delta_i^{(\pi)}(T). If f is transitive-symmetric, deduce \Delta^{(\pi)}(f)\ge\sqrt{\operatorname{Var}[f]\,n}.

Lean code for Lemma8.7.464 theorems
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.FiniteDecisionTree.influence_le_structuralQueryProbability.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : }
      {available : Finset (Fin n)}
      (T : FABL.FiniteDecisionTree Ω  n available) {f : FABL.ProductL2 Ω n}
      (hT : T.Computes f) (hf : FABL.HasSignRange f) (i : Fin n) :
      FABL.productInfluence π f i 
        FABL.FiniteDecisionTree.structuralQueryProbability π T i
    theorem FABL.FiniteDecisionTree.influence_le_structuralQueryProbability.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {available : Finset (Fin n)}
      (T :
        FABL.FiniteDecisionTree Ω  n
          available)
      {f : FABL.ProductL2 Ω n}
      (hT : T.Computes f)
      (hf : FABL.HasSignRange f) (i : Fin n) :
      FABL.productInfluence π f i 
        FABL.FiniteDecisionTree.structuralQueryProbability
          π T i
    Exercise 8.45(a) for one deterministic tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.RandomizedDecisionTree.influence_le_queryProbability.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (T : FABL.RandomizedDecisionTree Ω  n f) (hf : FABL.HasSignRange f)
      (i : Fin n) : FABL.productInfluence π f i  T.queryProbability π i
    theorem FABL.RandomizedDecisionTree.influence_le_queryProbability.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (T :
        FABL.RandomizedDecisionTree Ω  n f)
      (hf : FABL.HasSignRange f) (i : Fin n) :
      FABL.productInfluence π f i 
        T.queryProbability π i
    Exercise 8.45(a) for a randomized tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.productInfluence_biased_eq_of_transitiveSymmetric_monotone {n : }
      (p : ) (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (hsymm : FABL.IsTransitiveSymmetric f) (hf : Monotone f)
      (i j : Fin n) :
      FABL.productInfluence (FABL.biasedSignPMF p ) f.toReal i =
        FABL.productInfluence (FABL.biasedSignPMF p ) f.toReal j
    theorem FABL.productInfluence_biased_eq_of_transitiveSymmetric_monotone
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hsymm : FABL.IsTransitiveSymmetric f)
      (hf : Monotone f) (i j : Fin n) :
      FABL.productInfluence
          (FABL.biasedSignPMF p ) f.toReal
          i =
        FABL.productInfluence
          (FABL.biasedSignPMF p ) f.toReal j
    Transitive-symmetric monotone Boolean functions have equal biased influences. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.RandomizedDecisionTree.averageCost_ge_sqrt_variance_mul_card
      {n : } (p : ) (hp : p  Set.Ioo 0 1) (f : FABL.BooleanFunction n)
      (hmono : Monotone f) (hsymm : FABL.IsTransitiveSymmetric f)
      (T : FABL.RandomizedDecisionTree FABL.Sign  n f.toReal)
      (hequal : T.HasEqualQueryProbabilities (FABL.biasedSignPMF p )) :
      (FABL.productVariance (FABL.biasedSignPMF p ) f.toReal * n) 
        T.averageCost (FABL.biasedSignPMF p )
    theorem FABL.RandomizedDecisionTree.averageCost_ge_sqrt_variance_mul_card
      {n : } (p : ) (hp : p  Set.Ioo 0 1)
      (f : FABL.BooleanFunction n)
      (hmono : Monotone f)
      (hsymm : FABL.IsTransitiveSymmetric f)
      (T :
        FABL.RandomizedDecisionTree FABL.Sign
           n f.toReal)
      (hequal :
        T.HasEqualQueryProbabilities
          (FABL.biasedSignPMF p )) :
      (FABL.productVariance
              (FABL.biasedSignPMF p )
              f.toReal *
            n) 
        T.averageCost (FABL.biasedSignPMF p )
    Exercise 8.45(b) for an equal-query-profile tree, as supplied by the symmetrization in
    Exercise 8.37. 
Lemma8.7.47
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 8.6.11
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 8.46. Let \operatorname{err}(T)=\Pr[T(x)\ne f(x)]. If a depth-k tree queries i at its root and a random \pi-edge is followed, producing a distribution \mathcal T of depth-at-most-k-1 trees, prove \operatorname{err}(\mathcal T) \le\operatorname{err}(T)+\frac12\operatorname{Inf}_i[f]. At depth zero prove \operatorname{err}(T) \ge\min\{\Pr[f=1],\Pr[f=-1]\}. Deduce for every randomized tree \frac12\sum_i\delta_i^{(\pi)}(T)\operatorname{Inf}_i[f] \ge \min\{\Pr[f=1],\Pr[f=-1]\}-\operatorname{err}(T). This gives exact OSSS for balanced f and loses at most a factor 2 in general.

Lean code for Lemma8.7.4712 declarations
  • defdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    def FABL.FiniteDecisionTree.errorProbability.{u_1} {Ω : Type u_1}
      [Fintype Ω] (π : PMF Ω) {n : } {available : Finset (Fin n)}
      (T : FABL.FiniteDecisionTree Ω  n available)
      (f : FABL.ProductL2 Ω n) : 
    def FABL.FiniteDecisionTree.errorProbability.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } {available : Finset (Fin n)}
      (T :
        FABL.FiniteDecisionTree Ω  n
          available)
      (f : FABL.ProductL2 Ω n) : 
    Error probability of an arbitrary deterministic tree against a sign-range target. 
  • defdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    def FABL.minimumSignProbability.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n) : 
    def FABL.minimumSignProbability.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (f : FABL.ProductL2 Ω n) : 
    The smaller of the two target-label probabilities. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.FiniteDecisionTree.expected_child_error_le.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : }
      {available : Finset (Fin n)} (coordinate : Fin n)
      (hcoordinate : coordinate  available)
      (child :
        Ω  FABL.FiniteDecisionTree Ω  n (available.erase coordinate))
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) :
      (FABL.pmfExpectation π fun ω =>
          FABL.FiniteDecisionTree.errorProbability π (child ω) f) 
        FABL.FiniteDecisionTree.errorProbability π
            (FABL.FiniteDecisionTree.query coordinate hcoordinate child) f +
          1 / 2 * FABL.productInfluence π f coordinate
    theorem FABL.FiniteDecisionTree.expected_child_error_le.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {available : Finset (Fin n)}
      (coordinate : Fin n)
      (hcoordinate : coordinate  available)
      (child :
        Ω 
          FABL.FiniteDecisionTree Ω  n
            (available.erase coordinate))
      (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) :
      (FABL.pmfExpectation π fun ω =>
          FABL.FiniteDecisionTree.errorProbability
            π (child ω) f) 
        FABL.FiniteDecisionTree.errorProbability
            π
            (FABL.FiniteDecisionTree.query
              coordinate hcoordinate child)
            f +
          1 / 2 *
            FABL.productInfluence π f
              coordinate
    Exercise 8.46(a): following a random root edge increases error by at most half the root
    coordinate's influence. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : } (value : )
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) :
      FABL.minimumSignProbability π f 
        FABL.FiniteDecisionTree.errorProbability π
          (FABL.FiniteDecisionTree.leaf value) f
    theorem FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf.{u_1}
      {Ω : Type u_1} [Fintype Ω] (π : PMF Ω)
      {n : } (value : )
      (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) :
      FABL.minimumSignProbability π f 
        FABL.FiniteDecisionTree.errorProbability
          π
          (FABL.FiniteDecisionTree.leaf value)
          f
    Exercise 8.46(b): every depth-zero deterministic tree incurs at least the minority-label
    probability. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : }
      {available : Finset (Fin n)}
      (T : FABL.FiniteDecisionTree Ω  n available) (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) :
      1 / 2 *
           i,
            FABL.FiniteDecisionTree.structuralQueryProbability π T i *
              FABL.productInfluence π f i 
        FABL.minimumSignProbability π f -
          FABL.FiniteDecisionTree.errorProbability π T f
    theorem FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {available : Finset (Fin n)}
      (T :
        FABL.FiniteDecisionTree Ω  n
          available)
      (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) :
      1 / 2 *
           i,
            FABL.FiniteDecisionTree.structuralQueryProbability
                π T i *
              FABL.productInfluence π f i 
        FABL.minimumSignProbability π f -
          FABL.FiniteDecisionTree.errorProbability
            π T f
    Exercise 8.46(c), deterministic induction. 
  • structure(5 fields)defined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    structure FABL.PossiblyErroneousRandomizedTree.{u_1, u_2} (Ω : Type u_1)
      (α : Type u_2) (n : ) : Type (max (max 1 u_1) u_2)
    structure FABL.PossiblyErroneousRandomizedTree.{u_1,
        u_2}
      (Ω : Type u_1) (α : Type u_2) (n : ) :
      Type (max (max 1 u_1) u_2)
    A finite distribution of possibly erroneous deterministic trees. 
    Seed : Type
    seedFintype : Fintype self.Seed
    seedNonempty : Nonempty self.Seed
    seedLaw : PMF self.Seed
    tree : self.Seed  FABL.FiniteAlphabetDecisionTree Ω α n
  • defdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    def FABL.PossiblyErroneousRandomizedTree.errorProbability.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] {α : Type u_2} [DecidableEq α] {n : }
      (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω)
      (f : (Fin n  Ω)  α) : 
    def FABL.PossiblyErroneousRandomizedTree.errorProbability.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω]
      {α : Type u_2} [DecidableEq α] {n : }
      (T :
        FABL.PossiblyErroneousRandomizedTree Ω
          α n)
      (π : PMF Ω) (f : (Fin n  Ω)  α) : 
    Error probability of a possibly erroneous randomized tree. 
  • defdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    def FABL.PossiblyErroneousRandomizedTree.queryProbability.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] {α : Type u_2} {n : }
      (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω)
      (i : Fin n) : 
    def FABL.PossiblyErroneousRandomizedTree.queryProbability.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω]
      {α : Type u_2} {n : }
      (T :
        FABL.PossiblyErroneousRandomizedTree Ω
          α n)
      (π : PMF Ω) (i : Fin n) : 
    Query probability of a possibly erroneous randomized tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : }
      (T : FABL.PossiblyErroneousRandomizedTree Ω  n)
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) :
      1 / 2 *  i, T.queryProbability π i * FABL.productInfluence π f i 
        FABL.minimumSignProbability π f - T.errorProbability π f
    theorem FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : }
      (T :
        FABL.PossiblyErroneousRandomizedTree Ω
           n)
      (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f) :
      1 / 2 *
           i,
            T.queryProbability π i *
              FABL.productInfluence π f i 
        FABL.minimumSignProbability π f -
          T.errorProbability π f
    Exercise 8.46(c), randomized form. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] {n : }
      (T : FABL.PossiblyErroneousRandomizedTree Ω  n) (π : PMF Ω)
      (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f)
      (hdepth :
         (seed : T.Seed),
           value, T.tree seed = FABL.FiniteDecisionTree.leaf value) :
      FABL.minimumSignProbability π f  T.errorProbability π f
    theorem FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] {n : }
      (T :
        FABL.PossiblyErroneousRandomizedTree Ω
           n)
      (π : PMF Ω) (f : FABL.ProductL2 Ω n)
      (hf : FABL.HasSignRange f)
      (hdepth :
         (seed : T.Seed),
           value,
            T.tree seed =
              FABL.FiniteDecisionTree.leaf
                value) :
      FABL.minimumSignProbability π f 
        T.errorProbability π f
    Exercise 8.46(b) for a randomized depth-zero tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (T : FABL.RandomizedDecisionTree Ω  n f) (hf : FABL.HasSignRange f) :
      FABL.productVariance π f 
        2 *  i, T.queryProbability π i * FABL.productInfluence π f i
    theorem FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (T :
        FABL.RandomizedDecisionTree Ω  n f)
      (hf : FABL.HasSignRange f) :
      FABL.productVariance π f 
        2 *
           i,
            T.queryProbability π i *
              FABL.productInfluence π f i
    Exercise 8.46(c): the alternate argument yields OSSS up to a factor of two for a
    zero-error randomized tree. 
  • theoremdefined in FABL/Chapter08/DecisionTreeInequalities.lean
    complete
    theorem FABL.RandomizedDecisionTree.osss_of_variance_eq_one.{u_1, u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2}
      [Fintype ι] [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι) {n : } {f : FABL.ProductL2 Ω n}
      (T : FABL.RandomizedDecisionTree Ω  n f) (hf : FABL.HasSignRange f)
      (_hvar : FABL.productVariance π f = 1) :
      FABL.productVariance π f 
         i, T.queryProbability π i * FABL.productInfluence π f i
    theorem FABL.RandomizedDecisionTree.osss_of_variance_eq_one.{u_1,
        u_2}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {π : PMF Ω} {ι : Type u_2} [Fintype ι]
      [Nonempty ι] [DecidableEq ι]
      (B : FABL.FiniteFourierBasis Ω π ι)
      {n : } {f : FABL.ProductL2 Ω n}
      (T :
        FABL.RandomizedDecisionTree Ω  n f)
      (hf : FABL.HasSignRange f)
      (_hvar : FABL.productVariance π f = 1) :
      FABL.productVariance π f 
         i,
          T.queryProbability π i *
            FABL.productInfluence π f i
    Exercise 8.46(c): at variance one the exact OSSS constant is recovered. 
Lemma8.7.48
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 8.47. Construct an explicit real-valued f:\{-1,1\}^n\to\mathbb R for which the Boolean-valued OSSS inequality fails. Refine the construction so that the ratio of its two sides is \sqrt{\frac{130+20\sqrt3}{157}}.

Lean code for Lemma8.7.4813 declarations
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.osssCounterexampleAt (t : ) : FABL.SignCube 3  
    def FABL.osssCounterexampleAt (t : ) :
      FABL.SignCube 3  
    The real-valued function carried by the Figure 8.2 tree, with its last leaf value exposed as
    a parameter.  In sign coordinates it is written in its six-term Walsh expansion. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.osssCounterexampleTree (t : ) :
      FABL.FiniteAlphabetDecisionTree FABL.Sign  3
    def FABL.osssCounterexampleTree (t : ) :
      FABL.FiniteAlphabetDecisionTree
        FABL.Sign  3
    The asymmetric six-leaf decision tree in Figure 8.2. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.osssCounterexampleRandomizedTreeAt (t : ) :
      FABL.RandomizedDecisionTree FABL.Sign  3
        (FABL.osssCounterexampleAt t)
    def FABL.osssCounterexampleRandomizedTreeAt
      (t : ) :
      FABL.RandomizedDecisionTree FABL.Sign 
        3 (FABL.osssCounterexampleAt t)
    Point-mass randomized presentation of the Figure 8.2 tree at an arbitrary leaf value. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.variance_osssCounterexampleAt (t : ) :
      FABL.variance (FABL.osssCounterexampleAt t) =
        (3 * t ^ 2 - 2 * t + 3) / 16
    theorem FABL.variance_osssCounterexampleAt
      (t : ) :
      FABL.variance
          (FABL.osssCounterexampleAt t) =
        (3 * t ^ 2 - 2 * t + 3) / 16
    Variance of the parameterized counterexample. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.influence_osssCounterexampleAt_zero (t : ) :
      FABL.influence (FABL.osssCounterexampleAt t) 0 = 1 / 8
    theorem FABL.influence_osssCounterexampleAt_zero
      (t : ) :
      FABL.influence
          (FABL.osssCounterexampleAt t) 0 =
        1 / 8
    The root-coordinate influence is constant in the leaf parameter. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.influence_osssCounterexampleAt_one (t : ) :
      FABL.influence (FABL.osssCounterexampleAt t) 1 = (t ^ 2 - t + 1) / 8
    theorem FABL.influence_osssCounterexampleAt_one
      (t : ) :
      FABL.influence
          (FABL.osssCounterexampleAt t) 1 =
        (t ^ 2 - t + 1) / 8
    The two non-root influences are equal. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.influence_osssCounterexampleAt_two (t : ) :
      FABL.influence (FABL.osssCounterexampleAt t) 2 = (t ^ 2 - t + 1) / 8
    theorem FABL.influence_osssCounterexampleAt_two
      (t : ) :
      FABL.influence
          (FABL.osssCounterexampleAt t) 2 =
        (t ^ 2 - t + 1) / 8
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.osssCounterexample : FABL.SignCube 3  
    def FABL.osssCounterexample :
      FABL.SignCube 3  
    The explicit real-valued counterexample function. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.osssCounterexample_violates_real_valued_extension :
       i,
          FABL.osssCounterexampleRandomizedTree.queryProbability
              (FABL.uniformPMF FABL.Sign) i *
            FABL.productInfluence (FABL.uniformPMF FABL.Sign)
              FABL.osssCounterexample i <
        FABL.productVariance (FABL.uniformPMF FABL.Sign)
          FABL.osssCounterexample
    theorem FABL.osssCounterexample_violates_real_valued_extension :
       i,
          FABL.osssCounterexampleRandomizedTree.queryProbability
              (FABL.uniformPMF FABL.Sign) i *
            FABL.productInfluence
              (FABL.uniformPMF FABL.Sign)
              FABL.osssCounterexample i <
        FABL.productVariance
          (FABL.uniformPMF FABL.Sign)
          FABL.osssCounterexample
    Exercise 8.47: the sign-range hypothesis in OSSS is essential. 
  • defdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    def FABL.osssBookCounterexample : FABL.SignCube 3  
    def FABL.osssBookCounterexample :
      FABL.SignCube 3  
    The book's requested real-valued counterexample. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.osssBookCounterexample_exact_ratio :
      FABL.productVariance (FABL.uniformPMF FABL.Sign)
            FABL.osssBookCounterexample /
           i,
            FABL.osssBookCounterexampleTree.queryProbability
                (FABL.uniformPMF FABL.Sign) i *
              FABL.productInfluence (FABL.uniformPMF FABL.Sign)
                FABL.osssBookCounterexample i =
        (130 + 20 * 3) / 157
    theorem FABL.osssBookCounterexample_exact_ratio :
      FABL.productVariance
            (FABL.uniformPMF FABL.Sign)
            FABL.osssBookCounterexample /
           i,
            FABL.osssBookCounterexampleTree.queryProbability
                (FABL.uniformPMF FABL.Sign)
                i *
              FABL.productInfluence
                (FABL.uniformPMF FABL.Sign)
                FABL.osssBookCounterexample
                i =
        (130 + 20 * 3) / 157
    Exercise 8.47's displayed exact ratio `(130 + 20√3) / 157`. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.osssCounterexample_exact_ratio :
      FABL.productVariance (FABL.uniformPMF FABL.Sign)
            FABL.osssCounterexample /
           i,
            FABL.osssCounterexampleRandomizedTree.queryProbability
                (FABL.uniformPMF FABL.Sign) i *
              FABL.productInfluence (FABL.uniformPMF FABL.Sign)
                FABL.osssCounterexample i =
        (42 + 2 * 33) / 51
    theorem FABL.osssCounterexample_exact_ratio :
      FABL.productVariance
            (FABL.uniformPMF FABL.Sign)
            FABL.osssCounterexample /
           i,
            FABL.osssCounterexampleRandomizedTree.queryProbability
                (FABL.uniformPMF FABL.Sign)
                i *
              FABL.productInfluence
                (FABL.uniformPMF FABL.Sign)
                FABL.osssCounterexample i =
        (42 + 2 * 33) / 51
    The exact variance-to-weighted-influence ratio of the explicit example. 
  • theoremdefined in FABL/Chapter08/DecisionTreeExercises.lean
    complete
    theorem FABL.osssCounterexample_ratio_strictly_larger_than_book :
      (130 + 20 * 3) / 157 < (42 + 2 * 33) / 51
    theorem FABL.osssCounterexample_ratio_strictly_larger_than_book :
      (130 + 20 * 3) / 157 <
        (42 + 2 * 33) / 51
    The optimized Figure 8.2 labels answer the final question in Exercise 8.47 affirmatively:
    the ratio can be made strictly larger than the displayed book value. 
Lemma8.7.49
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

Whether the ratio in Exercise 8.47 can be made still larger is an open-ended question and supplies no production assumption.

Theorem8.7.50
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

Aaronson--Ambainis Conjecture (Aar08, AA11). If f:\{-1,1\}^n\to[-1,1], then \operatorname{MaxInf}[f] \ge \operatorname{poly} \left(\frac{\operatorname{Var}[f]}{\deg(f)}\right).

Theorem8.7.51
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

The external results of Ben-Or--Linial and Tardos give \operatorname{RDT}(f)\ge\sqrt{\operatorname{DT}(f)}. This bibliographic comparison is not used by any production proof.

Lemma8.7.52
Group: Chapter 8: Generalized domains (128)
Group member previews
Preview
Definition 8.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 0XL∃∀N

The notes record the historical development of product-space Fourier analysis, biased threshold theory, finite-group harmonic analysis, randomized decision trees, OS/OSSS, and the best known recursive-majority and low-degree influence bounds. These attributions and research-status remarks supply no assumptions to the production library.